如何解决mysql 5.6 中文 乱码问题?
关于MySQL 5.6 中文乱码的问题(尤其是windows的gbk编码)
一般MySQL 数据库乱码由以下几种情况造成(按照顺序):
1. 创建数据库的时候没设置编码,解决办法: 就是在创建数据库的时候设置编码, 例如:
CREATE DATABASE `mydb` CHARACTER SET utf8 COLLATE utf8_general_ci;
2. 创建数据表的时候没设置数据库引擎编码, 解决办法:
CREATE TABLE `tb_album` (`id` bigint(20) NOT NULL AUTO_INCREMENT,`name` varchar(100) NOT NULL DEFAULT '', PRIMARY KEY (`id`))ENGINE=InnoDB DEFAULT CHARSET=utf8;
3. MySQL导入.sql文件的时候,由于编码问题,导致中文乱码,首先进入数据库
mysql -u root -p
然后输入密码进入, 然后输入命令查看编码show variables like 'char%';
你会发现很多编码默认都是gbk,而且character_set_server
(这个就是导入.sql文件的时候导致乱码的原因)的编码默认是latin1
,
其他的都可以在mysql控制台通过命令 set xxx = utf8;
修改编码(永久修改),
唯独character_set_server
不行,退出之后再登录还是latin1
,
解决办法:找到MySQL安装目录下的my.ini,设置 default-character-set=utf8
和 character_set_server=utf8
如果你的MySQL是免安装版,那么是没有my.ini的,安装目录下只有my-default.ini文件,而且打开也没有character-set-server,
先把my-default.ini拷贝一份,并重命名为my.ini,这样该目录下就有了my.ini和my-default.ini两个ini文件
然后打开my.ini加上以下三行代码
- [client]
- default-character-set=utf8
- /[mysqld]/
- character-set-server=utf8
具体位置如下:
如果你的MySQL是安装版本,那就找到my.ini,设置default-character-set=utf8
和 character-set-server=utf8
,重启MySQL服务即可。
2、分享目的仅供大家学习和交流,请不要用于商业用途!
3、本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
4、如有链接无法下载、失效或广告,请联系管理员处理!
5、本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
领域源码下载 » 如何解决mysql 5.6 中文 乱码问题