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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM