今天使用sqlyog图形界面来创建数据库,数据库建好,表也没问题,但是出现了中文乱码问题。经过在网上搜索资料,最后解决了。
首先这个是mysql数据库的编码问题,也就是说是默认编码的问题,想要解决其实很简单,就只要改变一下mysql的默认编码方式就可以了。
具体操作为:
1、找到mysql的安装目录,在目录下有一个my.ini的文件,这个就是mysql的配置文件,在文件中有一个叫做character-set的设置,默认是latin1,将其更改为gbk或其他支持中文编码的编码格式。
2、重启服务器。
3、将已经建的出乱码的数据库删除掉,因为mysql不会动态的改变原来的编码格式,所以需要重新创建。
4、为确保不会再次出现问题,可以再创建数据库之前输入set name'gbk';
这个是统一设置本次查询的编码方式。
下面再说说mysql的编码。
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
可以通过命令 show variables like'char%' show variables like 'collation_%'; 查看
当我们更改完mysql的默认编码后就可以通过这两个命令进行查看
如果这样还不行的话,那就只能重装你的mysql,在mysql的安装向导中,有一个地方时选择编码的,将它选择为自己需要的编码就可以了,这样就没问题了。
最近学了一种新的方式,也记录上:
default-character-set=utf-8
show variables like "character_set_%";
character_set_system 总是utf-8
这5个最好总是保持一致
character_set_client
character_set_connection
character_set_database
character_set_results
character_set_server
由于mysql默认的字符编码为latin,而我们一般使用的是utf-8
所以不改过来容易造成乱码
修改msql的my.ini文件
修改default-character-set为utf-8,可能有多个,一一找到修改。ctrl+F
另外修改文件前要先停止mysql服务,等修改完后重新启动