WordPress 数据库字符集升级简短日志
› 社区话题 › wordpress开发 › NewVFX维护更新日志 › WordPress 数据库字符集升级简短日志
追光
WordPress 数据库字符集升级简短日志
? 技术操作日志:WordPress 数据库全站字符集升级 (utf8 ➔ utf8mb4)
操作目标:解决 WordPress 分类名称及内容中无法保存/显示 Emoji (如 ?) 及生僻汉字的问题,彻底消除 ??? 乱码。
前置准备:已完成数据库全量备份。
?️ 操作方式记录 (二选一执行)
方式 A:图形界面批量操作 (推荐,最安全)
1. 登录 phpMyAdmin,选中目标数据库 (newvfx)。
2. 点击顶部 “操作” (Operations) 选项卡。
3. 在“整理” (Collation) 下拉菜单中选择:utf8mb4unicode520ci。
4. 关键步骤:勾选下方的 ✅ 更改所有表整理 和 ✅ 更改所有表列整理。
5. 点击“执行” (Go),等待所有表转换完成。
方式 B:SQL 代码精准操作 (适合进阶用户)
在 phpMyAdmin 的 SQL 窗口中,逐条执行以下核心语句(使用 CONVERT TO 确保存量数据真正转换,避免索引超长报错):
sql
ALTER TABLE newvfx.itaoterms CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4unicode520ci;
ALTER TABLE newvfx.itaotermtaxonomy CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4unicode520ci;
ALTER TABLE newvfx.itaotermmeta CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4unicode520ci;
ALTER TABLE newvfx.itaotermrelationships CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4unicode520ci;— (如有需要,可按此格式扩展至 wpposts, wppostmeta 等全表)
⚙️ 后续配置 (必做)
修改网站根目录 wp-config.php,确保连接字符集同步更新:
php
define( \'DBCHARSET\', \'utf8mb4\' );
define( \'DBCOLLATE\', \'utf8mb4unicode520ci\' );这样做的核心好处
1. 彻底解决 Emoji 与生僻字乱码
传统的 utf8 在 MySQL 中最多只支持 3 字节字符,无法存储 4 字节的 Emoji (如 ?, ?) 和部分生僻汉字。升级为 utf8mb4 后,可实现 100% 完美存储和显示。
2. 符合 WordPress 官方现代标准
自 WordPress 4.2 版本起,官方已全面推荐并默认使用 utf8mb4。升级后能与核心程序及现代插件保持最佳兼容性。
3. 一劳永逸,避免未来隐患
通过“更改所有表和列”的全局操作,不仅修复了现有数据,还确保了未来新建的分类、文章或插件产生的新表,都会自动继承正确的字符集,杜绝后续出现“部分乱码、部分正常”的割裂问题。
4. 提升排序与搜索准确性
使用 utf8mb4unicode520ci 排序规则,比旧的 utf8generalci 提供了更准确的字符比较和排序逻辑(尤其对多语言混合内容更友好)。
日志结束。操作后已清理站点及浏览器缓存,前台 Emoji 显示测试正常。