java.sql.SQLException: Incorrect string value: '\xE4\xB8\xAD\xE9\x83\xA8' for column 'area' at row 1
java.sql.SQLException: Incorrect string value: '\xE4\xB8\xAD\xE9\x83\xA8' for column 'area' at row 1
应用程序写入mysql时候报:java.sql.SQLException: Incorrect string value: '\xE4\xB8\xAD\xE9\x83\xA8' for column 'area' at row 1
mysql在插入中文时候出现由于默认情况下,mysql的字符集是latin1(ISO_8859_1),
如果数据库库没有指定对应的编码,下面的表的编码也会跟着库编码一样。
可以通过一下方式修改:
查看数据库编码方式,如不是urf8 则修改一下
SHOW CREATE DATABASE test; ALTER DATABASE test DEFAULT CHARACTER SET utf8;
查看的具体表的编码方式
SHOW CREATE TABLE test.user_info; ALTER TABLE test.user_info CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
修改完以后还需要注意一点:应用程序连接数据库的时候需要制定编码方式:
properties.setProperty("url", "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8")
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下