使用 MySQLDump 修复奇怪的乱码问题

最近在处理 奇遇花园 的一些历史遗留问题,遇到了一个实际上是用 latin1 存储但是数据库的字符集是 utf8 的数据库。

多年不碰字符集问题,手生了。。。

下午 iconv 搞了半天还是乱码,然后在 Wordpress Codex 上找到了解决方案:

操作前请先备份数据库哟骚年~

首先使用 MySQLDump 以 latin1 字符集导出数据

1
mysqldump -h sgdb.6.vu -u sgdb -p --opt --quote-names --skip-set-charset --default-character-set=latin1 sg_wordpress > db.sql

然后使用 MySQL Client 以 utf8 字符集导入收据

1
mysqldump -h sgdb.6.vu -u sgdb -p --default-character-set=utf8 sg_wordpress < db.sql

最后去 wp-config.php 里把编码改一下

1
define('DB_CHARSET', 'utf8');

搞定,起床吃早餐去。