WordPress site lagt om fra ISO-8859-1 (Latin 1) til UTF-8 enkodning
Pyyyyyyyyhha… Det var sq’ nervepirrende!
For en time siden pÃ¥begyndte jeg omlægning fra ISO-8859-1 til UTF-8 enkodning af denne hjemmeside. Og hvorfor er det sÃ¥ vigtigt? Jo, det er det fordi der dags dato ogsÃ¥ er blevet opgraderet WordPress version fra 2.6.5 til version 2.7. Den nye version 2.7 kunne ikke li’ ISO-8859-1 enkodningen der tidligere blev anvendt, hvilket dog kun gav sig udslag i en enkelt RSS-feed læser i administrationsinterfacet. Desuden er UTF-8 et større tegnsæt at anvende, og det var i sin tid en fejl der overhovedet blev sat ISO-8859-1 idrift pÃ¥ denne side.

Sådan skete omlægningen, der teoretisk set burde være helt ens for uanset din version af WordPress:
- Tag en backup af din wordpress database (jeg lavede en komplet export via phpmyadmin)
- Tag endnu en backup af din WordPress database (jeg anvendte her plugin’et WP-DB-BACKUP)
- Er du tilstrækkeligt paranoid og/eller stærk i troen hvad angÃ¥r Murphy’s lov, sÃ¥ gentag punkt 1 og 2 til mere end en harddisk og/eller usb nøgle som jeg.
- Opret filen index.html i roden af din WordPress mappe - og skriv en besked heri om at hjemmesiden er midlertidigt nede pga. vedligeholdelse
- Ret filnavnet i WordPress mappen fra index.php til _index.php
- Start phpmyadmin eller tilsvarende administrativt DB interface
- Lav en export af samtlige wordpress tabeller, og sørg for ikke at gemme “CREATE TABLE” instruktioner til den resulterende SQL fil der kun mÃ¥ indeholde inserts efterfølgende
- Behold phpmyadmin/db-interface åbnet og åben så den eksporterede SQL fil i en UTF-8 kompatibel editor, f.eks. Notepad++
- Tving filen i UTF-8 tilstand, og verificer at special tegn såsom Æ ØÅ æøå ser korrekte ud
- Søg efter “blog_charset”, og ret værdien “iso-8859-1″ til “UTF-8″
- Gem SQL filen og luk Notepad++
- Vend tilbage til phpmyadmin/db-interface og tøm samtlige WordPress tabeller
- GÃ¥ lidt i panik - din blog er nu slettet helt, og du har selv gjort det!
- Ret collation for alle WordPress tabellerne, en efter en, fra “latin1_danish_ci” til “utf8_danish_ci”, bÃ¥de pÃ¥ kollone niveau og default collation
- Importer nu SQL filen til WordPress databasen (det er vigtigt filen ikke indeholder CREATE TABLE, da disse instruktioner sætter collation tilbage til iso.8859-1 !)
- Tilpas din wp-config.php sÃ¥ du er sikker pÃ¥ den indeholder linien “define (’DB_CHARSET’, ‘utf8′);”
- Slet index.html og omdøb _index.php til index.php
- Kryds fingre - det skulle være det!
En stor tak til Jakob Kruse for hjælpen iøvrigt!



