[MySQL+PHP] Lettere accentate rimpiazzate dal simbolo "?"
Inviato: mar giu 15, 2010 1:37 pm
Sto attualmente scrivendo un'applicazione web in PHP che, fra le varie cose, va anche a leggere delle stringhe di testo in un database MySQL per poi stamparle a schermo col classico comando echo. Tuttavia non riesco a leggere correttamente delle stringhe di testo che contengono dei caratteri accentati quali à è oppure lettere tedesche come ü, ö, ...
Dal punto di vista della pagina web (in XHTML 1.0 Strict), la dichiarazione del charset è:
e se vado a scrivere "già" direttamente nel <body> nel codice html viene visualizzato correttamente.
Dal punto di vista del database MySQL, la stringa la estrapolo da una tabella, dalla colonna "TextMessage" che è dichiarata come latin1_german1_ci (ma anche come utf8_unicode_ci o altri dopo non funziona), e se vado ad aprire il database MySQL online con PhpMyAdmin, quando visualizzo il contenuto della tabella la stringa è visualizzata correttamente con le "à"!!!
Quando però nella mia pagina eseguo una query del tipo
tutte le stringhe che contengono lettere accentate, ecc. vengono rimpiazzate dal solito generico simbolo "?". Non riesco proprio a venirne a capo, in quanto scrivendo direttamente della pagina funziona, leggendo il contenuto del database da PhpmyAdmin funziona, ma leggendole da php no: qualcuno può aiutarmi a risolvere il dilemma???
Dal punto di vista della pagina web (in XHTML 1.0 Strict), la dichiarazione del charset è:
- Codice: Seleziona tutto
<meta http-equiv= "Content-Type" content= "text/html; charset=iso-8859-1" />
e se vado a scrivere "già" direttamente nel <body> nel codice html viene visualizzato correttamente.
Dal punto di vista del database MySQL, la stringa la estrapolo da una tabella, dalla colonna "TextMessage" che è dichiarata come latin1_german1_ci (ma anche come utf8_unicode_ci o altri dopo non funziona), e se vado ad aprire il database MySQL online con PhpMyAdmin, quando visualizzo il contenuto della tabella la stringa è visualizzata correttamente con le "à"!!!
Quando però nella mia pagina eseguo una query del tipo
- Codice: Seleziona tutto
$query = "SELECT TextMessage FROM MiaTabella;
...
echo $Stringa;
tutte le stringhe che contengono lettere accentate, ecc. vengono rimpiazzate dal solito generico simbolo "?". Non riesco proprio a venirne a capo, in quanto scrivendo direttamente della pagina funziona, leggendo il contenuto del database da PhpmyAdmin funziona, ma leggendole da php no: qualcuno può aiutarmi a risolvere il dilemma???