字符集与MySQL中文乱码问题(2)
在完成(1)中的工作后,插入中文时发现还是如下的错误:
Caused by: java.sql.SQLException: Incorrect string value
原因:当前使用数据库的是在设置数据库charset为utf8之前建立的。
解决方法1
重建数据库。
先删除原来的数据库
mysql> drop database poemdb ;
再重建新的数据库
要说明的是,里面的collate用于指定数据集如何排序,和字符串的对比规则。我们常看到的 utf-8, GB2312, GB18030 都是相互独立的 character set. 即对 Unicode 的一套编码。
解决方法2
直接更改现有数据库的编码。
查看数据库的编码
修改数据库的编码
mysql>alter database poemdb character set utf8;