Mysql报错 Incorrect string value: '\xE5\x88\x98\xE6\x97\xAD...' for column 'Name' at row 1

报错信息如下:

java.sql.SQLException: Incorrect string value: '\xE5\x88\x98\xE6\x97\xAD...' for column 'Name' at row 1    
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1084)   
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4232)    
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4164)   
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2615)    
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2776)   

出现这个错误原因:

数据库的编码格式为latin1,而需要插入到数据库中的中文却是utf8。

解决办法:

1查看数据库编码格式:

show variables like 'character%';

2查看数据库表的编码:

show create table <表名>;

3 修改数据库的编码:

alter database <数据库名> character set utf8;

4 修改数据库某表的编码:

alter table <表名> character set utf8;

5 修改数据库某表的某一字段的编码:

alter table <表名> change <字段名> <字段名> <类型> character set utf8;

举例:

复制代码
mysql> show databases;
mysql> use testdb;
mysql> show tables;
mysql> show create table factory_list;
mysql> alter table  factory_list character set utf8;
Query OK, 0 rows affected (0.03 sec)
Records: 0  Duplicates: 0  Warnings: 0
mysql> alter table  factory_list change Name Name varchar(256) character set utf8;
Query OK, 0 rows affected (0.03 sec)
Records: 0  Duplicates: 0  Warnings: 0
复制代码

 

posted @   ycyzharry  阅读(4596)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构

喜欢请打赏

扫描二维码打赏

支付宝打赏

点击右上角即可分享
微信分享提示