データベースストレージの絵文字

間違った文字列値: '\xF0\x9F...'列「XXX」の場合; 1行目で

この問題の原因は、UTF-8 エンコードが 2、3、または 4 バイトである可能性があることです。絵文字表現や一部の特殊文字は 4 バイト、Mysql の utf8 エンコードは 3 バイトまでなので、データを挿入できません。

次のような多くの解決策があります。

1. プログラム内の絵文字表現をフィルタリングします。

2. データベースのエンコーディングを utb8mb4 に変更します。

方法 2 の手順:

my.cnfを変更する

[クライアント] デフォルト文字セット = utf8mb4 [mysql] デフォルト文字セット = utf8mb4 [mysqld] 文字セットサーバー = utf8mb4 照合サーバー = utf8mb4_unicode_ci

次に、mysql コマンドを再起動します: /etc/init.d/mysqld start

データベース内の対応するフィールドを utf8mb4_general_ci に変更します。

プロジェクト内のデータベースに接続する URL を変更し、characterEncoding=utf-8 を削除します。この手順は必ず実行してください。

これはmysql5.6です。古いメモ

おすすめ

転載: blog.csdn.net/wade1010/article/details/132457171