向 mysql 插入汉字时报错 Incorrect string value: 'xE6x9BxB9xE5x86xAC...' for col....

Incorrect string value: 'xE6x9BxB9xE5x86xAC...' for column 'realname' at row 1

该情况一般是由数据库设计时的编码错误导致的。

show variables like 'character%'   查看数据库编码,为latin1。

    

如果项目正在测试当中,数据不重要的话,一劳永逸的解决办法是,使用 alert database tuanplus character set utf8 更改数据库的编码格式,再重新建表。

注意:在 Hibernate中,指定hibernate.hbm2ddl.auto=create,重新部署项目,hibernate会自动重新建表。

     

如果项目中的数据是重要数据的话,使用 alter table address convert to character set utf8 转换需要插入汉字的数据表编码为utf8即可(此例中的数据表是address):

    

为免操作不当,事先最好先备份好数据。

备份是个好习惯,是吧  *~*

  

memento..

原文地址:https://www.cnblogs.com/zjfjava/p/6849797.html