向mysql数据库中写入中文,报错问题解决

当向数据库中写入创建表,并插入中文时,遇到了报错:

ERROR SqlExceptionHelper:147 - Incorrect string value: '\xE6\xB2\xA1\xE5\x90\x83...' for column 'others' at row 1
org.springframework.orm.jpa.JpaSystemException: could not execute statement; nested exception is org.hibernate.exception.GenericJDBCException: could not execute statement

解决方法:

1.自动新建的这张表的character set 没有设置成utf8.

2.服务器向数据库中传输的数据格式没有设置成uft8。因此,先进入数据库:

(1)在cmd命令窗口输入 mysql -hlocalhost -uroot -p回车 进入mysql数据库;

(2)查看表中的各字段的属性: show full columns from table_name;

如果看到每个字段都是lati, 则执行以下语句:

alter table table_name convert to character set utf8 collate utf8_general_ci;

(3)同时检查一些变量collation_connection、collation_database、collation_server是否都是utf8_general_ci

检查的语句为:show variable like 'collation%';

修改的语句为:set collation_connection=utf8_general_ci

(4)同时检查一些变量character的相关变量是否为utf8_general_ci

检查的语句为:show variable like 'character%';

修改语句如:set character_set_database=utf8;


你可能感兴趣的:(向mysql数据库中写入中文,报错问题解决)