java.sql.SQLException: 不正な文字列値: Unicode 文字エンコーディングの問題に対処する
Java および MySQL を使用する場合、データベース操作で問題が発生する可能性があります。不正な文字列値に関連するエラー。このようなエラーの 1 つは「java.sql.SQLException: 文字列値が正しくありません」です。これは、特定の非標準文字を挿入するときに発生する可能性があります。
たとえば、文字列「walmart obama ??」を挿入すると発生する可能性があります。カラムタイプが「varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL」の MySQL データベーステーブルにコピーすると、上記のエラーが発生する可能性があります。問題は、基本多言語プレーン (BMP) を超える Unicode コード ポイントを表す文字「??」のエンコーディングにあります。
MySQL のデフォルトのエンコーディングである utf8 は、BMP 内の文字のみをサポートします。絵文字やその他の特殊記号など、BMP の外の文字に対応するには、utf8mb4 エンコーディングを採用する必要があります。
解決策:
この問題を解決するには、 utf8mb4 をサポートするための MySQL データベースと接続設定エンコーディング:
MySQL データベースの更新:
MySQL 接続の構成:
utf8mb4 をサポートするようにデータベースと接続の構成を調整すると、「java.sql.SQLException: Incorrect string」が発生します。 value」エラーが解決され、非 BMP 文字をデータベースに正常に挿入できるようになります。
以上がJava MySQL インタラクションでの「java.sql.SQLException: 不正な文字列値」エラーを解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。