Dei consigli per trasformare il database del proprio blog o sito da latin1_swedish_ci in utf8. Un tip utile quando si effettua “un trasloco” del proprio database, presso un nuovo hosting provider.
Aiuto, i miei post o articoli hanno dei caratteri incomprensibili ! E’ la prima esclamazione dopo un “trasloco manuale” del proprio database presso un nuovo hosting provider, un classico problema di character encoding. A causa di formati differenti nell’archiviazione nel database, possiamo avere in output caratteri come â€
Il problema può essere circoscritto in ambito europeo a spostamenti tra database latin1_swedish_ci in utf8 . La soluzione è però semplice, specie se abbiamo effettuato un trasloco di un database wordpress. In tal caso la soluzione migliore è un export della tabella originale degli articoli in locale, si tratta della tabella wp_posts
Ora, tramite un notepad come Notepad ++ apriamo il file wp_posts.sql e controlliamo attentamente il contenuto degli articoli, i segni “strani” non appaiono, ciò perchè notiamo correttamente le lettere accentate come è o à.
Ottimo, sarà da effettuare una “trasformazione”. Apriamo la pagina Web “HTML encoding of foreign language characters” (link: http://www.thesauruslex.com/typo/eng/enghtml.htm) e copiamola sul nostro PC stando attenti alla sezione “Italian”. Ora, in base a ciò che dice la tabella, sostituiamo ogni singola lettera accentata degli articoli con il relativo codice html. Si tratta di un procedimento un pò “laborioso” ma funziona, di più rispetto a (certe) soluzioni che vengono offerte da script php, molte volte si bloccano lasciandoci con il lavoro a metà.
Unica nota, manca il “;” a destra dell’html encoding della lettera à, dovremo aggiungere tale segno per poter riconoscere tale lettera al termine della procedura. Al termine della procedura di sostituzione salviamo il file sql e effettuiamo l’import all’interno del nostro database, rimuovendo eventualmente la tabella precedente se tale nuova tabella non ha il “DROP” (in tal caso l’eliminazione della tabella precedente sarà automatica).
