mysql中文出现乱码问题有很多,最大的问题是因为服务器端与客户端编码不一致造成了,下面我来总结一些常用的解 决mysql乱码问题解决办法.
方法一,有服务器管理权限的修改方法,查看数据库各级别字符集支持,代码如下:
- mysql>SHOWVARIABLESLIKEcharacter_set_%’;
- mysql>SHOWVARIABLESLIKEcollation_%’;
修改my.ini文件,通常只需要修改客户端和服务端的编码就可以了,找到并修改,代码如下:
客户端:default-character-set=utf8
服务端:character-set-server=utf8
如果是gb2312可参考如下操作,代码如下:
- setcharacter_set_client=gb2312
- setcharacter_set_server=gb2312
- setcharacter_set_connection=gb2312
- setcharacter_set_results=gb2312
方法二,设置默认编码为gbk,这方法是在命令模式下进行设置,代码如下:
set names gbk;
设置数据库db_name默认编码为gbk,代码如下:
ALTER DATABASE `db_name` DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;
设置表tb_name默认编码为gbk:
ALTER TABLE `tb_name` DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;
方法三,在程序中设置,在mysql连接成功的后面加上如下一句,代码如下:
- MySQL_query("setnamesgb2312");
- --或者
- MySQL_query("setnamesgbk");