WPML
状态
已解决

问题概述

如果您在网站中使用页面构建器,您可能会注意到,如果在内容区块中添加一些表情符号,该区块将无法在高级翻译编辑器或经典翻译编辑器中进行翻译。

临时解决方法

出现此问题的原因是表排序规则冲突。如果您的服务器支持 utf8mb4_general_ci 排序规则,您可以在对站点进行完整备份后执行以下步骤:


  1. 打开主题的 functions.php 文件。

  2. 添加以下代码:
    // 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 );
    	    }
    	}
    	
    });


  3. 访问站点后端的任意页面。

  4. 移除该代码。

您的数据库表排序规则现在应为 utf8mb4_general_ci,并且该内容将可用于翻译。

如果站点的数据库使用的是 latin1 排序规则,您可以应用以下临时解决方法:


  1. 在继续操作之前,对站点进行完整备份。

  2. 前往:https://github.com/interconnectit/Search-Replace-DB.

  3. 下载该项目的 ZIP 文件并将其解压缩。

  4. 使用 FTP 客户端将解压后的文件夹上传到您的 WordPress 安装目录。

  5. 访问该文件夹 – 例如 http://example.com/Search-Replace-DB-master/

  6. 填写您的数据库名称、服务器、用户名和密码。您可以从 wp-config.php 文件中获取这些值。

  7. 单击并测试连接。

  8. 滚动到底部并单击“Convert to UTF8MB4”按钮。

  9. 等待该过程完成。

  10. 完成后,单击“Delete me”按钮

 

所有已知问题 →