Apri/Chiudi


Convertire il charset di Wordpress da ISO-8859-* a UTF-8

6 luglio 2007 , di Boliboop

Ripubblico, perché certi post (trovati qui) son scritti proprio bene, quella che sembra essere la soluzione definitiva ai problemi con le lettere accentate nel cambio di hosting dei blog basati su Wordpress:

Capita spesso, soprattutto nei cambi di hosting da sistemi Windows a quelli *unix, di dover convertire il charset di Wordpress da ISO-8859 a UTF-8 per visualizzare correttamente i caratteri accentati.

L’operazione è alquanto lunga e noiosa da fare a mano, fortunatamente ci viene in aiuto questo ottimo script php che automatizza la procedura:

  1. anzitutto è necessario che facciate il backup del vostro database con il comando mysqldump –opt DB_NAME oppure utilizzando phpMyAdmin [spesso il proprio servizio di hosting fornisce di serie un sistema veloce per fre il backup, nel mio ad esempio cpanel permette il backup completo con un click]
  2. inserite lo script nella cartella wp-content del vostro blog (ad esempio:
  3. http://vostrosito.com/blog/wp-content/convert-encoding.php )

  4. accedete via browser allo script

Et voilà, la conversione è servita :smile:

A parte il commento in neretto, vorrei aggiungere che non ho verificato il funzionamento di questo script, ma leggendone il codice php vorrei sottolineare alcune cose:

  1. per far funzionare lo script bisogna innanzitutto eliminare la riga die(‘Please follow the instructions in ‘ . $_SERVER['PHP_SELF']);, rimuovendo la quale si accetta automaticamente la licenza ad inizio script (nel quale sostanzialmente l’autore si solleva da ogni responsabilità per eventuali danni al vostro database)
  2. per convertire il set di caratteri, lo script va eseguito solo una volta, e subito dopo cancellato (per sicurezza)
  3. se dopo la conversione (tramite la funzione mb_convert_encoding) compaiono nei titoli carattere non-ascii non validi come “für” (cosa che nei titoli dei feed incontro molto spesso, purtroppo) allora bisogna modificare una riga dello script scrivendo $decode = true; anziché $decode = false; e poi lanciare di nuovo lo script, poiché nel database ci sono dei caratteri utf-8 che vanno decodificati (tramite la funzione utf8_decode), e non convertiti.
  4. lo script modifica sia la collation del database che i valori interni allo stesso
  5. alla fine, viene visualizzato il seguente messaggio
    Remember to remove this script!
    giusto per non fare pasticci (che il backup potrebbe sempre sistemare)

per testare lo script farò delle prove in locale con dei vecchi backup di quando ero sul precedente hosting… fateli anche voi e fatemi sapere, mi raccomando! :grin:

Articoli correlati:

  1. Aggiornamento di WordPress
  2. Software sul Troise Network
  3. Cuba abbraccia il software Open Source

10 Commenti a “Convertire il charset di Wordpress da ISO-8859-* a UTF-8”

  1. 1

    Paolo Gatti ha detto

    Ciao, anzitutto grazie per la citazione, poi ti volevo segnalare che a parte la mia esperienza personale (positivissima) con questo script, qualche giorno fa lo ha utilizzato con successo anche Barbara di Web Al Cioccolato:

    http://www.webalcioccolato.com/2007/07/04/un-vero-caos-errori-e-logica-di-wordpress/

    Ciao, Paolo.

  2. 2

    Boliboop ha detto

    Ciao, caspita che velocità, un commento dopo dolo 10 min dalla pubblicazione… potere del pingback :D

    grazie per la segnalazione del post di Barbara, quello me lo ero perso, infatti sono venuto a conoscenza del tuo post grazie al del.icio.us di Barbara stessa.

    Ciao!

  3. 3

    Paolo Gatti ha detto

    Essì, il pingback è veramente una bella cosa :mrgreen:

    Ciao, Paolo.

  4. 4

    Barbara ha detto

    :mrgreen: mi fischiavano le orecchie ;) in ogni caso non finirò mai di ringraziare lo sviluppatore di quello script (oltre a Paolo che l’ha segnalato) mi ha davvero tolto d’impaccio

  5. 5

    Josie ha detto

    Ho trovato il tuo articolo per caso, lo script mi serviva proprio. Grazie :)

  6. 6

    BiGAlex ha detto

    Sto cercando da un bel pò di tempo di scaricare questo script, ma pare non essere più disponibile (o forse il sito ha dei problemi mi sa)… mica per caso ne hai una copia? :P

    Ciao e grazie mille!
    Alessio

  7. 7

    Conraid ha detto

    Arrivo forse in ritardo, ma a me ha dato vari problemi in due blog. Taglia i post se trova gli apostrofi aggraziati tanto cari a chi usa Word o caratteri “strani”. Per esempio a me ha tagliato ogni cosa in due post appena ha trovato caratteri cinesi.

    Controllate bene se è successo qualcosa di simile anche a voi.

    Ciao

  8. 8

    kilotto ha detto

    Appena provato su: http://www.kilotto.com.
    Ma non ha funzionato. O meglio, sulla parte pubblica tutto ok, ma nell’admin le accentate sono sballate.
    Idee?

  9. 9

    kilotto ha detto

    Rettifico, in alcuni post anche nella parte pubblica, sono sballate.

  1. 1

    Levysoft » Risolvere il problema della visualizzazione errata dei caratteri accentati su Wordpress cambiando il charset da ISO-8859 a UTF-8

    [...] da ISO-8859 a UTF-8 per visualizzare correttamente i caratteri accentati. Ebbene, finalmente qualcuno ha trovato la soluzione e non posso quindi esimermi dal suggerirla anche a [...]

Lascia un commento



Chiudi
E-mail It