Page 1 of 2

[SOLVED] modulo e UTF-8

Posted: Fri Apr 03, 2009 4:30 pm
by nervino
Ciao a tutti,
ho un problema di set di caratteri.

In una pagina, che usa un template in cui è specificato

Code: Select all

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
richiamo dei dati dal DB attraverso un semplice modulo che sto realizzando.
Il modulo è basato su quello di Skeleton, con template add_edit.tpl.

Il problema è che i caratteri accentati presenti nel DB vengono resi con il solito punto interrogativo all'interno di un quadrato nero.

Il set di caratteri della tabella del DB è utf8_general_ci.

Qualcuno ha idea di come posso risolvere?

Re: modulo e UTF-8

Posted: Fri Apr 03, 2009 6:12 pm
by alby
nervino wrote: Qualcuno ha idea di come posso risolvere?
in config.php:
$config['default_encoding'] = 'utf-8';

Alby

Re: modulo e UTF-8

Posted: Fri Apr 03, 2009 6:33 pm
by nervino
Purtroppo il config è già impostato a utf-8.
Inoltre nel template del modulo ho inserito {get_template_vars}
e tra i risultati trovo:
lang = it_IT
encoding = UTF-8

Re: modulo e UTF-8

Posted: Fri Apr 03, 2009 7:01 pm
by alby
nervino wrote: Purtroppo il config è già impostato a utf-8.
Inoltre nel template del modulo ho inserito {get_template_vars}
e tra i risultati trovo:
lang = it_IT
encoding = UTF-8
non è che hail browser impostato a iso-8859-1?
Su FF: Visualizza > Codifica caratteri

Alby

Re: modulo e UTF-8

Posted: Fri Apr 03, 2009 8:01 pm
by protempore
io problemi di questo tipo a volte li ho risolti scommentando la riga num.145 del file "include.php"

Code: Select all

if (!isset($DONT_LOAD_DB))
{
    $cmsdb =& $gCms->GetDB();
//    $cmsdb->Execute('set names utf8'); // database connection with utf-8
}
basta togliere i due "//" iniziali

Re: modulo e UTF-8

Posted: Fri Apr 03, 2009 9:47 pm
by alby
protempore wrote: io problemi di questo tipo a volte li ho risolti scommentando la riga num.145 del file "include.php"

Code: Select all

if (!isset($DONT_LOAD_DB))
{
    $cmsdb =& $gCms->GetDB();
//    $cmsdb->Execute('set names utf8'); // database connection with utf-8
}
basta togliere i due "//" iniziali
Giusto!
+1  ;)
sarà che in MLE utf-8 è sempre attivo che me lo dimentico quando sono nell'originale ....

Alby

Re: modulo e UTF-8

Posted: Fri Apr 03, 2009 9:56 pm
by nervino
Tana!!
Era proprio l'impostazione della connessione al DB!

Grazie a entrambi!

Re: [SOLVED] modulo e UTF-8

Posted: Fri Apr 03, 2009 9:58 pm
by nervino
ALby cos'è MLE?
Google mi dà: Malpensa Logistica Europa  :D

Re: [SOLVED] modulo e UTF-8

Posted: Fri Apr 03, 2009 10:16 pm
by alby
nervino wrote: ALby cos'è MLE?
Google mi dà: Malpensa Logistica Europa  :D
Acc...  :o

CMSMS MultiLanguage Edition

segui il link nella mia firma

Alby

Re: [SOLVED] modulo e UTF-8

Posted: Sat Apr 04, 2009 9:40 am
by nervino
Bello! Complimenti.

Visto che lo hai sviluppato tu, ti chiedo anche un'altra info sul FMS.
Rispetto a quello usato qui, SMF, che differenze ci sono e perché hai sentito il bisogni di creare un forum?

grazie

Re: [SOLVED] modulo e UTF-8

Posted: Sun Apr 05, 2009 6:31 pm
by alby
nervino wrote: Visto che lo hai sviluppato tu, ti chiedo anche un'altra info sul FMS.
Rispetto a quello usato qui, SMF, che differenze ci sono e perché hai sentito il bisogni di creare un forum?
Il progetto iniziale non è mio ma era stato abbandonato.
Mi era stato richiesto un piccolo forum (più un gruppo di discussione che un forum per grandi comunità come questo) perfettamente integrato in CMSMS (stesso pannello e FEU per gli utenti).
A questo punto l'ho ripreso, corretto alcuni bugs ed inserito le feature che mi servivano.
Allora il precedente autore mi ha passato il progetto e da allora l'ho incrementato piano piano con altre feature (anche molte di più di quelle che mi servivano per la verità) ed ecco qua.
Adesso il prossimo penso di inserire i "gruppi" di forums con l'ordinamento e il captcha/akismet poi penso che può anche fermarsi.

Alby

Re: [SOLVED] modulo e UTF-8

Posted: Sun May 03, 2009 7:34 pm
by nervino
Decommentando la riga dell'include.php come suggerito da Protempore avevo risolto in locale.
L'ho fatto anche in un sito già pubblicato da tempo, in cui ho installato un mio moduletto, ed i caratteri dei testi delle pagine e delle news sballano, mentre le pagine che ho caricato, fatte da me, vanno bene.

Le tabelle del mio modulo sono tutte in utf8_unicode_ci.

Per ora ho risolto inserrendo nel codice del mio modulo, dopo l'apertura della connessione:

$db->Execute('set names utf8');

Mi potete comunque chiarire le idee? Come faccio a far convivere pacificamente le tabelle in Latin del cms e le mie in utf8?

grazie

Re: [SOLVED] modulo e UTF-8

Posted: Mon May 04, 2009 2:07 pm
by alby
nervino wrote:
$db->Execute('set names utf8');

Mi potete comunque chiarire le idee? Come faccio a far convivere pacificamente le tabelle in Latin del cms e le mie in utf8?
Puoi anche scrivere utf8 in tabelle Latin. Tutto dipende da come scrivi e come vai a leggere.
Se non puoi cambiare, puoi inserire un SET NAMES che va a settare la comunicazione giusta con il contenuto della tabella

Alby

Re: [SOLVED] modulo e UTF-8

Posted: Mon May 04, 2009 2:43 pm
by nervino
alby wrote:
Puoi anche scrivere utf8 in tabelle Latin. Tutto dipende da come scrivi e come vai a leggere.
Credo di aver capito: se scrivo in una tabella utilizzando utf8 per la connessione dovrò usare sempre utf8 anche per leggerla.
È per questo che attivando successivamente l'utf8 nella connessione, in un sito in cui era stata usata la Latin1 durante la creazione dei contenuti, i caratteri delle pagine sono errati. Giusto?

Re: [SOLVED] modulo e UTF-8

Posted: Mon May 04, 2009 3:05 pm
by alby
nervino wrote: È per questo che attivando successivamente l'utf8 nella connessione, in un sito in cui era stata usata la Latin1 durante la creazione dei contenuti, i caratteri delle pagine sono errati. Giusto?
Yes, stessa cosa nelle importazioni ad esempio con mysqldump in cui la connessione segue la configurazione del server (in genere latin

Alby