字符集与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;

原文地址:https://www.cnblogs.com/chuiyuan/p/5199537.html