Gestern habe ich ein wenig Unterstützung zum Thema WordPress geleistet und dabei geholfen, WordPress auf auf eine MySQL 5 Datenbank zu hieven und im gleichen Schritt von Latin1 auf UTF-8 umzustellen. Damit mir meine Schritte nicht verloren gehen, hier eine kurze Anleitung dazu. Wer dieser Anleitung folgt, macht dies auf eigene Gefahr, daher immer vorher ein Backup machen.
Zeichensatz im WordPress ändern
Die Konfigurationsdatei von WordPress wp-config.php öffnen. Ob per FTP runterladen, ändern, hochladen oder per SSH direkt auf dem Server ist egal.
Dort folgenden Eintrag setzen:
define(‘DB_CHARSET’, ‘utf8?);
Im WordPress Admin Bereich unter
Einstellungen -> Lesen -> Zeichensatz für Seiten und Feeds ebenfalls „UTF-8“ eintragen.
Änderungen an der Datenbank
Nun mit phpMyAdmin oder einem anderen bevorzugten MySQL-Admin Tool die Datenbank öffnen und alle Kollationen auf utf8_general_ci umstellen.
Um nun zum Schluss die falschen Umlaute, wie z. B. Ä, Ö, Ü wieder korrekt anzeigen zu lassen, müssen folgende SQLs auf der Datenbank ausgeführt werden.
update wp_posts set post_content = replace( post_content,'ü','ü');
update wp_posts set post_content = replace( post_content,'ä','ä');
update wp_posts set post_content = replace( post_content,'ö','ö');
update wp_posts set post_content = replace( post_content,'ß','ß');
update wp_posts set post_content = replace( post_content,'Ãœ','Ü');
update wp_posts set post_content = replace( post_content,'Ä','Ä');
update wp_posts set post_content = replace( post_content,'Ö','Ö');
update wp_posts set post_title = replace( post_title,'ü','ü');
update wp_posts set post_title = replace( post_title,'ä','ä');
update wp_posts set post_title = replace( post_title,'ö','ö');
update wp_posts set post_title = replace( post_title,'ß','ß');
update wp_posts set post_title = replace( post_title,'Ãœ','Ü');
update wp_posts set post_title = replace( post_title,'Ä','Ä');
update wp_posts set post_title = replace( post_title,'Ö','Ö');
update wp_comments set comment_content = replace( comment_content,'ü','ü');
update wp_comments set comment_content = replace( comment_content,'ä','ä');
update wp_comments set comment_content = replace( comment_content,'ö','ö');
update wp_comments set comment_content = replace( comment_content,'ß','ß');
update wp_comments set comment_content = replace( comment_content,'Ãœ','Ü');
update wp_comments set comment_content = replace( comment_content,'Ä','Ä');
update wp_comments set comment_content = replace( comment_content,'Ö','Ö');
update wp_comments set comment_author = replace( comment_author,'ü','ü');
update wp_comments set comment_author = replace( comment_author,'ä','ä');
update wp_comments set comment_author = replace( comment_author,'ö','ö');
update wp_comments set comment_author = replace( comment_author,'ß','ß');
update wp_comments set comment_author = replace( comment_author,'Ãœ','Ü');
update wp_comments set comment_author = replace( comment_author,'Ä','Ä');
update wp_comments set comment_author = replace( comment_author,'Ö','Ö');
update wp_term_taxonomy set description = replace( description,'ü','ü');
update wp_term_taxonomy set description = replace( description,'ä','ä');
update wp_term_taxonomy set description = replace( description,'ö','ö');
update wp_term_taxonomy set description = replace( description,'ß','ß');
update wp_term_taxonomy set description = replace( description,'Ãœ','Ü');
update wp_term_taxonomy set description = replace( description,'Ä','Ä');
update wp_term_taxonomy set description = replace( description,'Ö','Ö');
Das war es eigentlich schon. Eigentlich gar nicht so schwer. Wer noch andere Zeichen in seinem Blog verwendet, kann die
Zeichentabelle von Bültge nutzen um diese nach dem obigen Schema zu ersetzen.