mysql5.5中文乱码问题怎么解决

更新时间:2022-07-26 10:02:14
  • 查看MySQL的字符集

show variables like '%char%';

发现有部分不是utf-8

6ef4b6bf7c6a131b099f3d1ddff9dfe4_e1663945856af2aabbf0e0e7c65018c2.jpg

  • 解决办法一(推荐,本人实验有用)

修改MySQL配置文件,来到mysql安装目录,找到my.ini文件(可能没有此文件,没有就自己建一个,本人就是没有该文件)

655a4ee3fe36b24a915a9b73dbd3250a_cc5980e75142c768c5df9fd783fbbc67.jpg

  • 若有my.ini文件 进去之后,在三个地方增加配置

第一个

[client]  default-character-set=utf8

第二个

[mysql] default-character-set=utf8

第三个

[mysqld] character-set-client-handshake = FALSE 
 character-set-server = utf8 collation-server = utf8_unicode_ci 
 init_connect='SET NAMES utf8'
  • 若没有my.ini文件,则添加一个,内容为:

[client]  default-character-set=utf8[mysql] default-character-set=utf8[mysqld] character-set-client-handshake = FALSE 
 character-set-server = utf8character_set_filesystem = utf8 collation-server = utf8_unicode_ci 
 init_connect='SET NAMES utf8'

注意!!! 记得重启mysql服务 此电脑——>管理——>服务和应用程序——>服务——>mysql服务——>重新启动

2fbeb4ef03dfba669ffeb35e4d7d668c_ed05982135429568bc6b3f97959f3858.jpg

  • 解决办法二(不推荐,本人实验没用,每次改完都会被还原)

查看MySQL的字符集

show variables like '%char%';

修改mysql数据表字符集编码的命令

SET character_set_client='utf8'; SET character_set_connection='utf8'; SET character_set_database='utf8';SET character_set_filesystem='utf8';SET character_set_results='utf8';SET character_set_server='utf8';SET character_set_system='utf8';

重启mysql服务 此电脑——>管理——>服务和应用程序——>服务——>mysql服务——>重新启动

7c089ec26849a07e000d2319b8b24688_0338c3d803aaa2c43e418b4323e78a45.jpg

  • 其他情况,如果上面mysql设置好了,任然乱码那就可能是其他问题了,可能是数据库管理工具(如Navicat)的问题,也可能是代码编辑环境的问题(比如eclipse里的环境设置)

41c26defb4e3856f20efaf00e3d1e9df_fba26220de0e718723ec2ef90fb34793.jpg

6753149067afef0fb843bf6928f8e49b_f878057ef4547e665a0c355450963a9d.jpg

mysql