WordPress数据库搬家导入中文乱码解决方法
网站搬家了,在衡天小张这放了9年了,现在需求变了,简单就好。扯远了。搬家不少回了,这次又碰到新问题。有一个站点由于最早放过国内空间息壤主机,后来搬到香港主机,一直数据库就有问题,中文会乱码,在数据库和前台都乱。wordpress旧主机的php版本是7.2,新主机的版本是5.6,另外,新主机的数据库编码为utf8mb4。我考虑就是编码格式的问题。
解决办法有两个,一是强制使用旧的latin1编码,二是整个数据库转换为UTF8。
1、强制使用旧的latin1编码。
WordPress旧主机的数据库使用latin1编码存储数据,导致数据迁移后出现乱码。下载旧主机的数据库文件xxx.sql。
在新主机上新建同名数据库,phpmyadmin操作–排序规则: latin1-swedish-ci,以latin1编码方式导入新数据库。
当然,也可以命令输入
mysql -uroot -p --default-character-set=latin1 wordpress;
SET names 'latin1';
SOURCE xxx.sql;
然后,在wp-config.php中找到DB_CHARSET这行:
define( 'DB_CHARSET', 'utf8' );
修改为:
define( 'DB_CHARSET', 'latin1' );
现在中文已经能正常显示了。
2、数据库转换为UTF8(推荐)
将旧主机的数据库文件xxx.sql,以latin1编码方式导入新数据库。方法参见1。
下载UTF-8 Database Converter 插件, 在控制面板激活插件,然后运行,将数据库转换为utf8。
相关阅读: