专注、坚持

如何解决 MySQL 中文数据问题

2015.11.18 by kingcos
Preface · 序
本文为已归档的历史博客内容,其内容可能随着时间发生已经改变。
This article is archived from my previous blog, so the content maybe have changed now.。
These tips are just backup for myself. If something was wrong, please tell me.

Info:

  • MySQL 5.0.27
  • Windows XP
  • Navicat

注:由于 MySQL 5.7.9 (zip & msi) 均在 xp 上无法安装,因此使用了 MySQL 5.0.27 的安装包,不过方法应该是通用的

Steps:

一. 关闭 MySQL 服务 关闭所有正在运行的 MySQL,打开系统命令行(运行 - cmd)中输入 net stop mysql 回车,提示如下图即关闭成功:

1

二. 更改配置文件中的编码方式 打开 MySQL 安装目录,以我的为例:C:\Program Files\MySQL\MySQL Server 5.0

2

双击打开安装路径根目录图中红色框 my.ini 可能你的目录没有这个文件,而是 my-dafault.ini,打开它,搜索(Ctrl + f)关键词:default-character-set。将等号后面的 latin1 改为 gbk(如图为改好的样子,为安全你可以把原来的此行前加上 #,再另起一行写上 default-character-set=gbk):

3

三. 重新打开 MySQL 服务 打开系统命令行(运行 - cmd)中输入 net start mysql 回车,提示如下图即打开成功:

4

四. 检查是否更改成功 打开系统命令行(cmd,注:有些人在系统命令行无法运行 MySQL 是因为你没有添加 MySQL 的 bin 目录至环境变量),输入 mysql -u root -p 回车,再输入密码进入。此时输入 status 命令,注意观察下图红框内内容,若均为 gbk 则更改成功:

5

五. 重新试验 以上做完且成功的话,你就可以尝试重新建表,来输入中文了,以前的表因为创建时编码方式不同而此时仍会显示问号或者乱码,重新建表即可。