PDA

View Full Version : [PHP-MYSQL] accenti mal visualizzati


fedo
23-07-2009, 11:23
Ciao ragazzi,

ho un problema che non riesco a risolvere con gli accenti ed altri caratteri strani (tipo i finlandesi con le dieresi) da visualizzare sul browser tramite HTML generato da PHP.
Ho letto in giro che è questione di codifica, quindi ho impostato UTF-8 (ma ho provato anche altre) nel codice HTML.
Niente da fare :(
Nel DB Mysql da dove prendo le descrizioni da visualizzare, gli accenti sono perfetti.
Non credo sia colpa del browser.

avete consigli?

grazie

camocamo
23-07-2009, 15:07
Umh...bella domanda. Ho avuto anche io tempo fa un problema del genere...
Il mio consiglio è quello di usare il comando setlocale nella pagina php che stampa l'html e se non dovesse risolversi ti conviene fare un ambiente-tipo da 0 composto da form php che inserisce i dati nel db (settato utf8_general_ci) e file php che li prende e li stampa...così capiresti dove sta l'inghippo.
Io mi ricordo che ci avevo perso parecchio...a me addirittura tranciava le stringhe al primo carattere "non standard"....

EDIT: dimenticavo, non è colpa del browser...però questo mi ha dato un'idea: salva la stringa in ingresso facendo la conversione da careattere "non standard" al corrispettivo html (esempio età diventa età): tutto questo lo fa una funzione php della quale non ricordo il nome. Così nel db avrai non età ma et`.
A quel punto il file stampa la stringa et` che il browser ristampa in età e il tutto dovrebbe funzionare...certo non te lo garantisco, senza provarlo potrebbe sfuggirmi qualcosa.

saluti

fedo
23-07-2009, 16:27
grazie.

ma io non salvo nulla nel DB.. sono dati precaricati, quindi mi interessa solo leggere queste stringhe descrittive e mostrarle all'utente..

ciao

vizzz
23-07-2009, 20:10
Solitamente in problema sta nel charset impostato dal client che si connette.

prova con:
mysql_set_charset('utf8',$link);

fedo
24-07-2009, 20:56
Solitamente in problema sta nel charset impostato dal client che si connette.

prova con:
mysql_set_charset('utf8',$link);


grande, con questa istruzione dopo la connect fila tutto liscio!

grazie :)