You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WordPress与数据库编码不匹配及迁移乱码问题求助

主问题:将Latin1配置的WordPress站点统一改为utf8mb4_unicode_ci,修复希伯来语乱码

先明确现状:当前站点属于双重编码巧合兼容——WordPress以latin1编码连接数据库,把希伯来语的UTF-8字节当作latin1字符存入utf8mb4数据库;读取时又按latin1读取,再转成UTF-8输出,所以前端显示正常。要统一编码,需把数据库里的乱码还原为正确希伯来语,再同步WordPress配置。

操作步骤:

  • 先备份数据库:避免操作失误丢数据,用phpMyAdmin导出全库,或用命令行:
    mysqldump -u 你的数据库用户名 -p 数据库名 > backup.sql
    
  • 修改所有表和字段的字符集:
    要么用phpMyAdmin批量操作(选中所有表,在「操作」里选择修改表字符集),要么执行SQL生成批量修改语句:
    -- 先修改数据库默认字符集
    ALTER DATABASE 你的数据库名 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    
    -- 生成所有表的修改命令,复制结果执行
    SELECT CONCAT('ALTER TABLE ', table_name, ' CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;')
    FROM information_schema.tables
    WHERE table_schema = '你的数据库名' AND table_type = 'BASE TABLE';
    
  • 修复存储的乱码文本:
    数据库里的乱码是UTF-8字节被转成latin1存储的,要转回来。对每个含文本的字段(比如post_content、post_title、meta_value)执行:
    UPDATE 表名 SET 字段名 = CONVERT(CONVERT(字段名 USING latin1) USING utf8mb4);
    
    不确定哪些字段需要修改?先查询所有文本类型字段:
    SELECT table_name, column_name
    FROM information_schema.columns
    WHERE table_schema = '你的数据库名'
    AND data_type IN ('varchar', 'text', 'mediumtext', 'longtext');
    
  • 更新wp-config.php配置:
    替换为utf8mb4相关配置:
    /** Database charset to use in creating database tables. */
    define( 'DB_CHARSET', 'utf8mb4' );
    
    /** The database collate type. Don't change this if in doubt. */
    define( 'DB_COLLATE', 'utf8mb4_unicode_ci' );
    
  • 验证结果:刷新网站前端和后台,确认希伯来语文本显示正常。

附加问题:Duplicator迁移后乱码,能否用它切换编码并保留修改?

可以,但需要调整导出和导入的编码设置,避免再次出现编码混乱:

操作步骤:

  • 本地导出时配置编码:
    打开Duplicator导出界面,找到「数据库选项」,设置字符集为utf8mb4、排序规则为utf8mb4_unicode_ci;进入「高级选项」,勾选「强制UTF8编码」,再生成备份包。
  • 服务器端提前准备:
    创建新数据库,设置默认字符集为utf8mb4_unicode_ci;同时把服务器上的wp-config.php修改为utf8mb4配置(即你之前调整的内容)。
  • 用Duplicator导入备份:
    导入过程中,Duplicator会自动按utf8mb4创建表和字段,同时保留你在本地做的所有修改。如果导入后仍有乱码,执行主问题里修复文本的SQL命令即可。

内容的提问来源于stack exchange,提问作者Meital

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 18:28:36