tacker.org


Script to convert WordPress’ content encoding

12.12.2005

I've just created a script which converts the encoding of all database entries of wordpress into another encoding.
In most cases you would convert into UTF-8.

IMPORTANT!
Remember to dumpy your database first

mysqldump --opt DB_NAME

Or use phpMyAdmin:
http://www.zerokspot.com/docs/howto.phpmyadmin.backup_and_restore/
http://www.phpmyadmin.net/documentation/#faq6_3

Do NOT run this script more then once

Place this script inside the wp-content folder of your blog and access it via the browser, e.g. http://yoursite.com/blog/wp-content/convert-encoding.php

12
12
2005

Kommentare 43 | Permalink

Kategorien > PHP Wordpress

Tags >

 

nächster >

voriger >

Dein Kommentar





Kommentare

Kommentare als RSS

[…] Markus Tacker oferece um script que converte automaticamente seu banco de dados de iso-8859 para UTF8: Script to convert WordPress’ content encoding. […]

[…] Bingaamalla löytyi monta hyvää neuvoa, joista päätin valita Marcus Tackering kirjoittaman skriptin. […]

Markus Tacker Kommentar

30. April 2010 | 09:44

Ja, ich bin vor kurzem Umgezogen und habe auch meine SVN-Repositories aufgeräumt.
Die neue URL lautet: http://code.coderbyheart.de/svn/wordpress/convert-encoding.php

jochen Kommentar

29. April 2010 | 11:43

Gibts daSs Script noch irgendwo?

Jimmy's Blog Trackback

19. März 2010 | 10:13

[…] verwendet, ich bisher aber einen ISO Zeichensatz verwendet hatte. Dafür habe ich dann aber ein Script gefunden, welches mir meine SQL Tabellen in utf-8 konvertiert. Das hat auch alles wunderbar […]

Codificación | lenguao.com Trackback

2. Dezember 2008 | 14:05

[…] solución ha pasado por una recodificación de la base de datos (previo respaldo, claro) utilizando un simple pero muy útil script creado por Markus Tacker que encontré rebuscando un […]

Html Metatags Kommentar

24. November 2008 | 15:47

interesting script – thanks for sharing

[…] nada hasta que encontré información en este blog donde había un enlace a un script el cual, siguiendo unas instrucciones te pasaba la base de datos a la codificación correcta. Eso si, como bien se indica, hacer una […]

[…] El segundo, utilizando un script que hace que autom

[…] dem beizukommen, habe ich selbst das Script convert-encoding.php von Markus Tacker eingesetzt, welches im zweiten Durchlauf noch mit dem Wert ‘True’, […]

[…] ihr keinen Zugriff auf die Shell haben, wäre das hier von M.Tacker.org noch eine interessante Alternative: […]

Markus Tacker Kommentar

10. April 2008 | 07:08

Help me!:

Mode is convert
New encoding is UTF-8
New encoding for mysql is utf8
New collation for mysql is utf8_general_ci
wp_3azkul_comments

Fatal error: Call to undefined function mb_convert_encoding() in /home/jardinei/public_html/blog/wp-content/convert-encoding.php on line 121

The mbstring extension needs to be installed to use this script on your host.

See mbstring installation for further instructions.

Raquel Kommentar

9. April 2008 | 20:14

Help me!:

Mode is convert
New encoding is UTF-8
New encoding for mysql is utf8
New collation for mysql is utf8_general_ci
wp_3azkul_comments

Fatal error: Call to undefined function mb_convert_encoding() in /home/jardinei/public_html/blog/wp-content/convert-encoding.php on line 121

[…] schiebt man die Sache hinaus. Ein Urlaubstag musste jetzt herhalten – und es scheint zu laufen! Ein kleines Script hat die Sache in der Datenbank recht schnell erledigt. Lediglich etliche meiner Widgets gingen […]

[…] seit Jahren (noch von Sunlog mitgeschlepptes) ISO-Format in UTF8 gewandelt. Das habe ich mit Hilfe dieses Script bewerkstelligt. Das ändert zwar nicht das Encoding der neuen internen Tags; macht aber nix, […]

[…] alten Datenmüll zu befreien und danach die Datenbankeinträge nach UTF-8 zu konvertieren. Das Script von Markus Tacker war mir dabei eine grosse Hilfe, denn damit geht die Konvertierung fast automatisch vonstatten. […]

ManéBlog Trackback

10. Oktober 2007 | 19:21

Mudanças no Blog…

Meus caros,
Percorri a via crucis de modificar o encoding do blog. Agora estamos em formato UTF-8. Tudo graças a um excelente script que converte o formato iso-8859 para UTF-8. O script pode ser baixado aqui.
Também agora estou usando o Qumana para p…

Markus Tacker Kommentar

10. Oktober 2007 | 09:05

oculos and roberts problems have been adressed in [288] and [287] respectively.

Robert Kommentar

9. Oktober 2007 | 21:05

I think you should update only tables with prefix wp_*. If any tables in the database does not belong to WordPress, they should be left intact. Change the call for our $result :

SHOW TABLES FROM LIKE ‘wp%’ ;

-> g2_MimeTypeMap belongs to gallery2 :)

Robert Kommentar

9. Oktober 2007 | 20:00

OK, I see the problem. You are using only numeric attributes as keys for update. Unfortunately table g2_MimeTypeMap (at least in WordPress 2.0.2) has only 1 non-numeric column, which is not unique …

Robert Kommentar

9. Oktober 2007 | 19:36

Error:

g2_MimeTypeMap Query failed: UPDATE g2_MimeTypeMap SET `g_extension`=’ai’, `g_mimeType`=’application/postscript’, `g_viewable`=’0′ WHERE `g_viewable`=’0′ (Duplicate entry ‘ai’ for key 1)

Hmmm, error is OK – g_viewable is really not table key column, but should be generated

… WHERE `g_extension`=’ai’

Any idea?

Markus Tacker Kommentar

8. Oktober 2007 | 08:44

Oculus, I’ve updated the script to show the failing sql query. Please run it again and report the query.

oculos Kommentar

6. Oktober 2007 | 13:34

Hi there!

I’m trying to use your script, but I’m getting the following error:

Mode is convert
New encoding is UTF-8
New encoding for mysql is utf8
New collation for mysql is utf8_general_ci
wp_WP_HASHCASH Invalid query: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ” at line 1

Can you give me a clue of why is that happening?

Thanks a lot in advance!

Cheers!

khong co ai Kommentar

28. September 2007 | 15:11

I just would like to say Thankkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkks a lot!!!!

After tried a bunch of code that made me go crazy during hours, you code is the most simple i found, and it was done in less than one minutes.

Thanks again. ((^_^))

Estamos de volta (novamente) Trackback

1. August 2007 | 23:58

[…] novinha, tive o problema dos acentos, só que agora eles viraram simples “?”. Rodei um script bacaninha e problema […]

[…] questo punto della storia interviene zio Google! Cerca di qua, cerca di la… E ti trovo un bell’articolo contenente uno script creato ad hoc per WordPress ma che, leggermente modificato, si adatta a […]

Markus Tacker Kommentar

11. Juni 2007 | 14:55

@Carol:

Please ask your hosting provider to install the multibyte extension for PHP.

Carol Kommentar

11. Juni 2007 | 01:06

Hi… When i run the script, say mode is convert… but:

“Fatal error: Call to undefined function: mb_convert_encoding() in /home/chthel/public_html/blog/wp-content/convert-encoding.php on line 120”

line 120: a linha 120: $set[] = ek($key) . ‘=’ . ev(mb_convert_encoding($data[$key], $new_encoding));

What this error is? oO

[…] sei, pq honestamente, nunca tinha notado. Quando tudo funciona bem a gente nao se atem ao detalhes. Ja rodei esse script, e nao resolveu o […]

[…] rodei o tal script que vi a dica no PortalWordpress, mas sem nenhum […]

[…] ihr keinen Zugriff auf die Shell haben, wäre das hier von M.Tacker.org noch eine interessante Alternative: […]

Paulo Brabo Kommentar

5. Mai 2007 | 20:00

You saved a life. Worked like a charm here.

Cheers from Brazil

PB

[…] att konvertera hela databasen på sorkpappa till UTF-8. Detta ordnades med ett väldigt smidigt script. Fick iof trixa litegranna innan allt blev bra, men bra verkar det då ha […]

[…] Markus Tacker oferece um script que converte automaticamente seu banco de dados de iso-8859 para UTF8: Script to convert WordPress’ content encoding. […]

[…] Nach einer kurzen Websuche bin ich auf einen Script zur Konvertierung gestoßen. Der dortige Script ist aber mit äußerster Vorsicht zu genießen und man sollte wirklich unbedingt ein Backup der ganzen MySQL-Datenbank durchführen. Das Script beschränkt sich nämlich nicht auf die Tabellen des aktuellen WordPress-Blogs. Es konvertiert vielmehr alle Tabellen der aktuellen Datenbank. […]

[…] Diese Script sollte man sich merken, sicher wird es der eine oder andere noch benötigen. Denn damit läßt sich das Blog ohne Darstellungsprobleme in die gewünschte Konvertierung überführen – Script to convert WordPress – content encoding . Das es damit Probleme gibt, kann man des öfteren im WordPress-Forum nach lesen. Empfohlen wird auch weiterhin UFT-8, der Zeichensatz, der alle Zeichen beinhaltet. […]

Japhy Kommentar

19. Oktober 2006 | 22:35

Hallo!

Ich wollte das Skript downloaden, habe aber anscheinend nicht die notwendige Berechtigung:
You don’t have permission to access /trac/smallprojects/browser/wordpress/convert-encoding.php on this server.

[…] Bueno, parece que funciona. Para que funcione correctamente tuve que cambiar el encoding de todo el blog a UTF-8 (algo que quería hacer hace bastante pero nunca me animaba). Lo logré gracias a un script que encontré en los foros de WordPress. […]

anonymous.coward Kommentar

17. April 2006 | 15:39

Hello,

I’ve tried your script but it seems I am stuck:

with my browser set to iso-8859-1 encoding I get the Spanish characters right. e.g. ñ, ó, ú, í, á (somehow not the é…) but that did not change the general view…
We work on a multilingual blog — the German umlauts still look like this : ö = ö or ü= ü

I also used the $decode = true; option, ran the script again and I flushed the tables in mysql — but to no avail.

Switching my browser to utf-8 encoding I see the German posts ok and the Spanish posts are a mess. Any good pointers?

Thanks,

AC

public void blog() » Endlich UTF-8 Trackback

22. März 2006 | 12:34

[…] Bei tacker.org gibt es ein convert-encoding Skript dafür, das durch die meisten Tabellen geht und die Sonderzeichen umcodiert. Aber nicht vergessen: Erst ein Backup machen, sonst darf hinterher nicht geweint werden! […]

[…] Ich habe ein nützliches Script gefunden, das ISO-8859-*kodierte WordPress-Einträge  in UTF-8  umwandelt.  Hat gut geklappt, aber die Nebenwirkung, dass  alle Einträge, die jünger sind als der 9. Februar, defekt sind. Die werde ich per Hand fixen müssen… […]

bueltge.de [by:ltge.de] Trackback

2. Februar 2006 | 18:54

WP – Script zur Zeichensatzconvertierung

Diese Script sollte man sich merken, sicher wird es der eine oder andere noch benötigen. Denn damit lä

[…] Um bei WordPress das Encoding von ISO-8859-1 auf UTF-8 umzustellen, ohne mit Darstellungsfehlern leben zu müssen, ist es sehr Hilfreich, das Script to convert WordPress

http://m.tacker.org/64.script-to-convert-wordpress-content-encoding.html