出现乱码一般都是因为编码不一致造成的。免安装版MySQL配置编码主要在于my.ini这个配置文件。
5.0以上版本修改方法:
修改my.ini 中的设置,
在[client]节点下添加
default-character-set=utf8
在[mysqld]节点下添加
character-set-server=utf8
collation-server=utf8_general_ci
验证下是否生效
mysql> show variables like ‘char%’;
+————————–+——————————————+
| Variable_name | Value |
+————————–+——————————————+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /opt/mysql-cluster/share/mysql/charsets/ |
+————————–+——————————————+
8 rows in set (0.00 sec)
可以 看出都已经更正为utf8了,这样新建立的数据库缺省就是UTF8编码了。
已经创建好的数据库及库中的表要如何更改为utf8呢?
用alter语句(修改数据库的字符集不会改变原有数据表的字符集)
utf8:
ALTER DATABASE 数据库
DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci
ALTER TABLE 数据表
DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci
gbk (包含gb2312):
ALTER DATABASE 数据库
DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci
ALTER TABLE 数据表
DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci
配置好以后,重新MySQL即可。