解决mysql中文乱码(三个地方要注意):
2014-02-14 14:23
120 查看
1.查看mysql字符集
SHOW VARIABLES LIKE'character_set_%';
设置字符集命令:SETcharacter_set_client='utf8';
2.新建的数据库和表的字符编码都是utf8
3.代码中连接数据库的字符编码
Class.forName("com.mysql.jdbc.Driver");
conn= DriverManager.getConnection("jdbc:mysql://192.168.99.122:3306/mtime123?user=root&password=root123&useUnicode=true&characterEncoding=utf-8&autoReconnect=true&failOverReadOnly=false");
其实只要做到字符编码统一并且支持中文就可以了,但是有时候我们发现尽管我们做到了以上三点还是会乱码,在程序中会报错某个字段的值是一串二进制编码,原因是该字段没有统一编码,不是utf8。。。。
将数据库结构导出成sql文本,然后打开检查里面的数据库,表和每个字段是否是utf8(只要做到统一编码就行),如果不是就改过来。
SHOW VARIABLES LIKE'character_set_%';
设置字符集命令:SETcharacter_set_client='utf8';
2.新建的数据库和表的字符编码都是utf8
3.代码中连接数据库的字符编码
Class.forName("com.mysql.jdbc.Driver");
conn= DriverManager.getConnection("jdbc:mysql://192.168.99.122:3306/mtime123?user=root&password=root123&useUnicode=true&characterEncoding=utf-8&autoReconnect=true&failOverReadOnly=false");
其实只要做到字符编码统一并且支持中文就可以了,但是有时候我们发现尽管我们做到了以上三点还是会乱码,在程序中会报错某个字段的值是一串二进制编码,原因是该字段没有统一编码,不是utf8。。。。
将数据库结构导出成sql文本,然后打开检查里面的数据库,表和每个字段是否是utf8(只要做到统一编码就行),如果不是就改过来。
DROP TABLE IF EXISTS `award`; CREATE TABLE `award` ( `id` bigint(32) unsigned NOT NULL AUTO_INCREMENT, `award_content` longtext CHARACTER SET utf8, `movie_id` bigint(20) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;
相关文章推荐
- mysql中文乱码问题,需要注意修改的几个地方
- mysql query browser中文乱码的解决方法
- 解决mysql无法插入中文数据及插入后显示乱码的问题【亲测 图文解说!】
- Mysql中文乱码问题解决
- mysql中文乱码解决方法
- 阿里云Ubuntu重装mysql稳定版,更改数据目录,解决中文乱码
- 解决Hibernate向MySQL插入中文出现乱码的问题
- 解决mysql中文乱码(总)
- linux系统下mysql中文乱码解决
- 解决MySQL中文乱码问题
- Ubuntu 7.04 下MySQL中文乱码的解决
- php操作csv文件导入mysql时中文乱码的解决办法
- MySql中表单输入数据出现中文乱码的解决方法
- MySQL 插入数据时,中文乱码问题的解决
- CRT 和mysql 中文乱码解决方式
- 解决MYSQL 中文乱码
- jforum用到MySQL设置字符集为UTF8(Windows版)解决中文乱码
- mysql中文乱码解决
- MYSQL导入和写入中文数据乱码解决办法