最近在处理 奇遇花园 的一些历史遗留问题,遇到了一个实际上是用 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'); |
搞定,起床吃早餐去。