我是靠谱客的博主 缥缈心情,最近开发中收集的这篇文章主要介绍如何解决mysql 5.6 中文 乱码问题,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

本文操作环境:Windows7系统、mysql5.6版、Dell G3电脑。

如何解决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服务就发现character-set-server已经不再是latin1了:

如果你的MySQL是安装版本,那就找到my.ini,设置default-character-set=utf8 和 character-set-server=utf8,重启MySQL服务即可。
登录后复制

推荐学习:《mysql视频教程》

以上就是如何解决mysql 5.6 中文 乱码问题的详细内容,更多请关注靠谱客其它相关文章!

最后

以上就是缥缈心情为你收集整理的如何解决mysql 5.6 中文 乱码问题的全部内容,希望文章能够帮你解决如何解决mysql 5.6 中文 乱码问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部