ホームページ >データベース >mysql チュートリアル >JDBC 経由で UTF-8 データを挿入するときに発生する MySQL の「文字列値が正しくありません」エラーを修正する方法
JDBC 経由で MySQL に UTF-8 を挿入する際の「不正な文字列値」エラーのトラブルシューティング
「不正な文字列値」エラーは、次の場合に発生する可能性があります。 JDBC を使用して UTF-8 データを MySQL データベースに挿入しようとしています。このエラーは通常、文字エンコーディングが正しく構成されていないことを示します。
問題の説明
この場合、次のパラメーターを使用して JDBC 接続を構成しました。
Connection conn = DriverManager.getConnection(url + dbName + "?useUnicode=true&characterEncoding=utf-8", userName, password);
この設定では、Unicode 文字を使用し、文字エンコーディングを UTF-8 にするように指定します。ただし、エラー メッセージは、不正な文字列値が 4 バイトの UTF-8 文字である「xF0」で始まることを示唆しています。
解決策
デフォルトでは、 MySQL の utf8 エンコーディングでは、UTF-8 の 3 バイトで表現できる文字のみが許可されます。この問題を解決するには、MySQL データベースに utf8mb4 エンコーディングを指定する必要があります。このエンコーディングは、UTF-8 で 4 バイトを占める文字をサポートします。
解決手順:
ALTER TABLE table_name MODIFY COLUMN column_name VARCHAR(255) CHARACTER SET utf8mb4;
追加情報:
以上がJDBC 経由で UTF-8 データを挿入するときに発生する MySQL の「文字列値が正しくありません」エラーを修正する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。