网站地图    收藏   

主页 > 后端 > mysql数据库 >

解决mysql中文乱码(三个地方要注意): - mysql数

来源:自学PHP网    时间:2015-04-16 10:51 作者: 阅读:

[导读] 1 查看mysql字符集SHOW VARIABLES LIKE character_set_% ;设置字符集命令:SETcharacter_set_client= utf8 ;2 新建的数据库和表的字符编码都是utf83 代码中连接数据库的字符编码Class forName(com...

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(只要做到统一编码就行),如果不是就改过来。

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;

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论