4バイトのUnicode文字はまだ広く使用されていないため、すべてのアプリケーションが4バイトのUnicode文字を完全にサポートしているわけではありません。 MySQL 5.5は、適切に構成されていれば4バイト文字で正常に動作します。他のコンポーネントも4バイト文字で動作するかどうかを確認してください。
他にもチェックすべき点がいくつかあります:
-
クライアントとサーバーの文字セットの設定に加えて、すべてのテーブルのデフォルトの文字セットとテキストフィールドがutf8mb4に変換されていることを確認してください。例:
ALTER TABLE mytable charset=utf8mb4, MODIFY COLUMN textfield1 VARCHAR(255) CHARACTER SET utf8mb4,MODIFY COLUMN textfield2 VARCHAR(255) CHARACTER SET utf8mb4;
など。データがすでにutf8文字セットに含まれている場合は、問題なくutf8mb4に変換されます。いつものように、試す前にデータをバックアップしてください!
-
また、アプリ層がデータベース接続の文字セットをutf8mb4に設定していることを確認してください。これが実際に発生していることを再確認してください。選択したフレームワークのmysqlクライアントライブラリの古いバージョンを実行している場合は、utf8mb4サポートでコンパイルされていない可能性があり、文字セットが正しく設定されません。そうでない場合は、更新するか、自分でコンパイルする必要があります。
-
mysqlクライアントを介してデータを表示するときは、絵文字を表示できるマシンを使用していることを確認し、
SET NAMES utf8mb4
を実行してください。 クエリを実行する前に。
アプリケーションのすべてのレベルで新しい文字をサポートできるようになると、破損することなくそれらを使用できるようになります。