原因: java.sql.SQLException: 列の文字列値が正しくありません: '\xF0\x9F\x94\xA5'。Mysql に絵文字式を保存するときにエラーが発生します。 iOS の絵文字 (emoji 顔文字) は、UTF8 でエンコードされていますが、1 文字が 4 バイトを占めますが、MySQL の UTF8 エンコードでは 3 バイトの文字しか保存できません。 MySQL 5.6 では、エンコーディングを utf8 のスーパーセットである utf8mb4 に設定できます。 1. MYSQLの文字セットを変更する Mysql は文字エンコード セットを utf8mb4 に設定し、対応するデータベース、テーブル、フィールドも utf8mb4 に設定されます。既存のテーブルの utf8 エンコード セットを utf8mb4 に変更する場合は、データベース、テーブル、フィールドを一度設定して確認する必要があることに注意してください。データベースのみを変更した場合、対応するテーブルとフィールドは変更されません。テーブルを変更した場合も同様です。設定を変更した場合は、データベースを再起動する必要がある場合もあります。 文字セットサーバー=utf8mb4 2. JDBCをアップグレードする 下位バージョンの JDBC では、文字化けした文字、表現、さらには中国語の文字も表示されます。 以下は、JDBC バージョンの対応する状況の一部です。詳細は次のとおりです。JDBC バージョンは EMOJI をサポートしています。画像はインターネットで見つかりました。私の 5.1.6 テストでは、中国語と絵文字表現が正常に挿入され、表示されます。 3. サーバー構成 jdbc:mysql://xxx.xxx.xxx.xxx:3306/dbwww58com_chrcsm?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true を継承します。接続アドレスの後のパラメータは UTF-8 に設定されているか、自動的に認識されます。そうでない場合は、太字部分を削除して、接続がサーバー構成を自動的に認識できるようにします。具体的な状況は JDBC のバージョンによって異なります。サーバー構成 jdbc:mysql://xxx.xxx.xxx.xxx:3306/dbwww58com_chrcsm?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true を継承します。接続アドレスの後のパラメータは UTF-8 に設定されているか、自動的に認識されます。そうでない場合は、太字部分を削除して、接続がサーバー構成を自動的に認識できるようにします。具体的な状況は JDBC のバージョンによって異なります。 4. MYSQLのinit_connectパラメータを設定する 設定後、図 2 init_connect パラメータ クエリに示すように、「init_connect」などの変数を表示して確認できます。 5. エンコーディング セットはコードで設定されています。おそらく、JDBC のバージョンによるものだと思います。この方法を使用すると、挿入とクエリの両方が正常に実行できます。 connection.prepareStatement("set names utf8mb4").executeQuery();次に、connection.prepareStatement を通じて挿入します。おそらくJDBCのバージョンのせいか、コード内にエンコーディングセットが設定されています。この方法を使用すると、挿入とクエリの両方が正常に実行できます。 connection.prepareStatement("set names utf8mb4").executeQuery();次に、connection.prepareStatement を通じて挿入します。 以下もご興味があるかもしれません:
|
<<: 開発効率を向上させる 20 の JavaScript ヒント
>>: Linux (CentOS7) に Tomcat をインストールし、Tomcat をスタートアップ項目として設定します (tomcat8 を例に挙げます)
タスク マネージャーで仮想化を確認し、有効になっている場合は仮想化を、無効になっている場合はコンピュ...
この記事の例では、マウスに従ってボールを動かすjsの具体的なコードを参考までに共有しています。具体的...
序文まず、高性能サーバーの高可用性またはホットスタンバイソリューションである Keepalived ...
私たちは Web 開発者として、プロの DBA ではありませんが、データベースなしではやっていけませ...
メモ帳プログラムは、HTML + CSS + JavaScript の 3 つの主要なフロントエンド...
<本文> <div id="ルート"> <h1 ...
1. データ整合性の概要1. データ整合性の概要データの冗長性とは、データベース内に重複したデータが...
アイデア:外側のボックスは背景を設定し、内側のボックスは背景の幅と高さを設定し、ボックスを動かすアニ...
<br />記事と同様に、Web ページにも明確な段落と重要度の異なるタイトルが必要です...
1. スタイルシートの先頭にコメント ブロックを追加して、スタイルシートの作成日、作成者、タグ、その...
NULL 値によると、MySQL の NULL 値は単にデータがないことを意味します。NULL 値は...
目次1. ノード、ツリー、仮想DOM 2. 仮想DOM 2.1 データオブジェクトの詳細2.2 制約...
MySQLのスイッチングデータ保存ディレクトリの実装方法今日、仕事中に、mysql が保存されている...
太陽系の 8 つの惑星(衛星を除く)のアニメーションを作成します。すべての惑星は太陽の周りを回ってい...
バックエンドは thinkphp3.2.3 フレームワークを使用します。他の言語を使用している場合は...