- 状态
- 已解决
问题概述
如果您在网站中使用页面构建器,您可能会注意到,如果在内容区块中添加一些表情符号,该区块将无法在高级翻译编辑器或经典翻译编辑器中进行翻译。
临时解决方法
出现此问题的原因是表排序规则冲突。如果您的服务器支持 utf8mb4_general_ci 排序规则,您可以在对站点进行完整备份后执行以下步骤:
- 打开主题的 functions.php 文件。
- 添加以下代码:
// Notice admin_init - will only run in backend add_action('admin_init', function() { require_once(ABSPATH.'/wp-admin/includes/upgrade.php'); global $wpdb; $mytables=$wpdb->get_results("SHOW TABLES"); foreach ($mytables as $mytable) { foreach ($mytable as $t) { maybe_convert_table_to_utf8mb4( $t ); } } }); - 访问站点后端的任意页面。
- 移除该代码。
您的数据库表排序规则现在应为 utf8mb4_general_ci,并且该内容将可用于翻译。
如果站点的数据库使用的是 latin1 排序规则,您可以应用以下临时解决方法:
- 在继续操作之前,对站点进行完整备份。
- 前往:https://github.com/interconnectit/Search-Replace-DB.
- 下载该项目的 ZIP 文件并将其解压缩。
- 使用 FTP 客户端将解压后的文件夹上传到您的 WordPress 安装目录。
- 访问该文件夹 – 例如 http://example.com/Search-Replace-DB-master/
- 填写您的数据库名称、服务器、用户名和密码。您可以从 wp-config.php 文件中获取这些值。
- 单击并测试连接。
- 滚动到底部并单击“Convert to UTF8MB4”按钮。
- 等待该过程完成。
- 完成后,单击“Delete me”按钮