- Home
- Categorie
- Coding e Sistemistica
- PHP
- Leggere caratteri speciali da codifica utf8_unicode_ci
-
Leggere caratteri speciali da codifica utf8_unicode_ci
Buongiorno a tutti, mi sto arrovellando per un problema che ormai non dovrebbe essere così ostico.
Ho un database MySql con codifica utf8_unicode_ci e sto lavorando con una tabellina semplice semplice :CREATE TABLE IF NOT EXISTS `clie_dati_testo` ( `text_id` int(22) NOT NULL AUTO_INCREMENT, `text_cntcli_id` int(22) NOT NULL DEFAULT '0' COMMENT 'ass cliente contratto', `text_dom_id` int(22) NOT NULL DEFAULT '0', `text_testo` text CHARACTER SET utf8 COLLATE utf8_unicode_ci, `text_sche_id` int(22) NOT NULL, PRIMARY KEY (`text_id`), KEY `text_cntcli_id` (`text_cntcli_id`), KEY `text_dom_id` (`text_dom_id`), KEY `text_sche_id` (`text_sche_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Dato selezionato da tabella generale' AUTO_INCREMENT=2 ;
poi ho una pagina che gestiste i dati e nell'header c'è impostato :
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Insomma tutto sembra a posto anche perché i dati nel database sono memorizzati esattamente come li ho scritti nel form. Esempio: se scrivo "l'amore più forte" vedo esattamente "l'amore più forte" .
Il problema nasce quando lo visiono nella pagina HTML, infatti il risultato è:
l'amore più forte
Ho provato molte soluzioni ma senza risultato, in ultima ho letto questo articolo:
vvv.alessandrosenese.eu/pillole/php-pillole/php-mysql-e-caratteri-utf8
che alla fine parla di BIN2HEX e HEX2BIN che proverei, se non fosse che ho la mia macchia ancora alla versione 5.3 di Apache e che se installo l'applicazione su un server NON aggiornato dalla versione 5.4 in su non funzionerebbe.
Prima di andare ad aggiornare Apache alla nuova versione, qualcuno si dirmi dove è l'errore?
Attendo vostre risposte con molta ansia anche perchè ci sto sbattendo da + di una settimana e non procedo. Uffa.
Grazie in anticipo.
Gianfranco
-
Prova anche queste:
-
Controlla anche il set di caratteri con cui esegui la connessione al db, verifica che sia utf8.