間違った文字列値: '\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です。古いメモ