Home >Database >Mysql Tutorial >How to Resolve \'java.sql.SQLException: Incorrect String Value\' Errors in Java MySQL Interactions?

How to Resolve \'java.sql.SQLException: Incorrect String Value\' Errors in Java MySQL Interactions?

DDD
DDDOriginal
2024-11-24 16:39:11312browse

How to Resolve

java.sql.SQLException: Incorrect String Value: Addressing Unicode Character Encoding Issues

When working with Java and MySQL, database operations can encounter errors related to incorrect string values. One such error is "java.sql.SQLException: Incorrect string value", which can arise when inserting certain non-standard characters.

For instance, inserting the string "walmart obama ??" into a MySQL database table with a column type of "varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL" may trigger the above error. The issue lies in the encoding of the characters "??", which represent Unicode code points that extend beyond the basic multilingual plane (BMP).

MySQL's default encoding, utf8, only supports characters within the BMP. To accommodate characters outside the BMP, such as emojis and other special symbols, it is necessary to employ utf8mb4 encoding.

Solution:

To solve this issue, modify the MySQL database and connection settings to support utf8mb4 encoding:

  1. Update MySQL Database:

    • Ensure that your MySQL version is 5.5 or higher.
    • Alter the table column to use "varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL".
  2. Configure MySQL Connection:

    • For a driver-agnostic approach, execute the query "SET NAMES 'utf8mb4'" after establishing a connection with the database.
    • If using Connector/J, set "characterEncoding" to "utf-8" in the connection string to automatically detect and use utf8mb4 on compatible servers.

By adjusting the database and connection configurations to support utf8mb4, the "java.sql.SQLException: Incorrect string value" error will be resolved, allowing for the successful insertion of non-BMP characters into the database.

The above is the detailed content of How to Resolve \'java.sql.SQLException: Incorrect String Value\' Errors in Java MySQL Interactions?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn