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")

 

posted @ 2021-12-19 15:32  晓枫的春天  阅读(454)  评论(0编辑  收藏  举报