字符集与MySQL中文乱码问题(2)
2016-02-18 22:55
567 查看
在完成(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;
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;
相关文章推荐
- Cannot load JDBC driver class 'com.mysql.jdbc.Driver
- MySQL中varchar最大长度是多少?
- 【MySQL】过滤后的结果集较大,用LIMIT查询分页记录,查询效率不理想
- MySQL知识(三)——数据类型
- mysql之分布式事务
- mysql之复制
- mysql之优化
- MySQL Replication常见错误整理
- mysql表结构查询
- Mysql索引会失效的几种情况分析
- MySql分库分表
- mysql读书笔记一
- mysql之日志
- mysql之备份和恢复
- mysql之视图
- mysql之索引
- Mysql多表查询(两张独立表,一张关系表)
- mysql之插入、更新、删除
- MySQL基本操作(六):建表,插入多条记录,更新表中特定数据
- mysql之协议分析