WPML
ステータス
解決済み

問題の概要

Webサイトでページビルダーを使用している場合、コンテンツのブロックに絵文字を追加すると、高度な翻訳エディタやクラシック翻訳エディタでそのブロックが翻訳できなくなる場合があります。

回避策

この問題は、テーブルの照合順序の競合により発生します。サーバーが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」ボタンをクリックします。

 

すべての既知の問題 →