使用语句 show variables like 'character%'; 来查看当前数据库的相关编码集。
default-character-set=utf8
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates
default-character-set=utf8
[isamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M
[myisamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
[mysqld]
port=3306
从上图中可以看到 MySQL 有六处使用了字符集,分别为:client 、connection、database、results、server 、system。其中与服务器端相关:database、server、system(永远无法修改,就是utf-8);与客户端相关:connection、client、results 。
client | 为客户端使用的字符集。 |
connection | 为连接数据库的字符集设置类型,如果程序没有指明连接数据库使用的字符集类型则按照服务器端默认的字符集设置。 |
database | 为数据库服务器中某个库使用的字符集设定,如果建库时没有指明,将使用服务器安装时指定的字符集设置。 |
results | 为数据库给客户端返回时使用的字符集设定,如果没有指明,使用服务器默认的字符集。 |
server | 为服务器安装时指定的默认字符集设定。 |
system | 为数据库系统使用的字符集设定。 |
设置了服务器、数据库和数据表部分的编码,必须设置连接编码。连接编码设置如下:
mysql> SET character_set_client='gbk';
mysql> SET character_set_connection='gbk'
mysql> SET character_set_results='gbk'
依次设置后效果不好(不推荐使用!)
mysql> SET character_set_connection='gbk'
mysql> SET character_set_results='gbk'
下面是真正解决问题的办法:
wamp下MySQL的默认编码是Latin1,不支持中文,要支持中文的话需要把数据库的默认编码修改为gbk或者utf8。
这里推荐设置为UTF-8…国际统一编码
WAMP下面设置mysql编码的方法和手动安装的mysql设置方法稍微不一样
--》打开my.ini,该文件一般在MySQL的安装目录下,但是XAMPP/WAMP环境下的MySQL好像在安装目录是在bin目录下的
在[client]下添加 default-character-set=utf8
在[mysqld]下添加 character_set_server=utf8
在[mysql]下添加 default-character-set=utf8
下面是整体的效果:
default-character-set=utf8
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates
default-character-set=utf8
[isamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M
[myisamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
[mysqld]
port=3306
character_set_server=utf8
http://blog.csdn.net/cselmu9/article/details/43150361