通过 JDBC 将 UTF-8 插入 MySQL 时处理不正确的字符串值
尝试使用以下命令将 UTF-8 数据插入 MySQL 数据库时JDBC,您可能会遇到错误消息“错误的字符串值: 'xF0x90x8Dx83xF0x90...'" 当插入的文本包含无法用 MySQL 的 utf8 字符集表示的字符时,通常会出现此错误。
虽然您的连接设置包括使用 Unicode(“useUnicode=true”)和UTF-8编码(“characterEncoding=utf-8”),MySQL的utf8编码只支持可以用以下方式表示的Unicode字符UTF-8 格式为 3 个字节。然而,导致错误的字符需要 4 个字节。
解决方案:
要解决此问题,您有两个选择:
请注意,通常用于与 MySQL 的 JDBC 连接的 Connector/J 默认为 3 字节 Unicode。因此,建议将characterEncoding从连接字符串中删除,并使用character_set_server=utf8mb4配置MySQL服务器,以允许Connector/J自动检测UTF-8设置。
以上是通过 JDBC 将 UTF-8 数据插入 MySQL 时如何修复'字符串值不正确”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!