• User Newbie

    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


  • User Attivo

  • User Attivo

    Controlla anche il set di caratteri con cui esegui la connessione al db, verifica che sia utf8.