MySQL に絵文字を挿入できません: 不正な文字列値 ['xF0x9Fx91xBDxF0x9F...']
次の内容を含む文字列値を挿入しようとすると絵文字を MySQL データベースに追加すると、次のエラーが発生する場合があります。 java.sql.SQLException: 文字列値が正しくありません: 'xF0x9Fx91xBDxF0x9F...'。この問題は、データベースのエンコード制限に起因します。
絵文字のエンコードについて
地球外エイリアンや失恋などの絵文字は、通常、Unicode コード ポイントとして表されます。これらのコード ポイントは、MySQL の utf8 エンコーディングでサポートされている基本多言語プレーン (BMP) の範囲外にある可能性があります。結果として、これらの文字は utf8 列に格納できません。
解決策: 'utf8mb4' エンコーディングにアップグレードします
この問題を解決するには、に切り替える必要があります。 utf8mb4 エンコーディング。補助文字をサポートします。このエンコーディングでは文字を保存するのに 4 バイトが必要ですが、utf8 では最大 3 バイトしか保存できません。
「utf8mb4」エンコーディングを実装する手順:
次の手順に従うことで、絵文字をサポートし、不正な文字列値の例外を回避するようにデータベース環境を更新できます。 🎜>
以上がMySQL に絵文字を挿入すると「文字列値が正しくありません」というエラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。