如何解决mysql 5.6 中文 乱码问题
MySQL作为一种常用的数据库,在使用过程中,中文乱码问题也是经常会遇到的。今天我们就来聊一聊如何解决MySQL5.6中文乱码问题。
首先,我们需要了解MySQL数据库乱码造成的原因。一般来说,乱码问题有以下几种情况:
1.创建数据库的时候没设置编码。
解决方法:在创建数据库的时候设置编码。例如:CREATEDATABASE`mydb`CHARACTERSETutf8COLLATEutf8_general_ci;
2.创建数据表的时候没设置数据库引擎编码。
解决方法:CREATETABLE`tb_album`(`id`bigint(20)NOTNULLAUTO_INCREMENT,`name`varchar(100)NOTNULLDEFAULT'',PRIMARYKEY(`id`))ENGINE=InnoDBDEFAULTCHARSET=utf8;
3.MySQL导入.sql文件的时候,由于编码问题,导致中文乱码。
解决方法:首先进入数据库mysql-uroot-p,然后输入密码进入,再输入命令查看编码:showvariableslike'char%';登录后,你会发现很多编码默认都是gbk,而character_set_server的编码默认是latin1,这个就是导入.sql文件的时候导致乱码的原因。其他的都可以在mysql控制台通过命令setxxx=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服务即可。
总之,解决MySQL5.6中文乱码问题并不难,只需要了解原因并按照正确的方法去处理即可。希望今天的分享能对大家有所帮助。

-
MySQL Workbench怎么建立数据库(附:sql语句创建数据库方法) 2023-07-20 12:22:29
-
MySQL Workbench是什么?(附:如何设置中文教程) 2023-07-20 11:42:31
-
一起聊聊MySQL主从延时的处理方案 2023-05-14 07:00:03
-
mysql怎么将查询结果赋给变量 2023-05-14 07:00:03
-
mysql驱动是什么 2023-05-14 07:00:03
-
qt5.8如何连接mysql 2023-05-14 07:00:03
-
MySQL 语法整理介绍 2023-05-14 07:00:03
-
mysql修改表结构的语句是什么 2023-05-14 07:00:03
-
mysql乐观锁和悲观锁的区别是什么 2023-05-14 07:00:03
-
mysql查询怎么区分大小写 2023-05-14 07:00:02