一般我们在配置文件my.cnf中添加配置:
<code>[client]</code>
<code>default-character-</code><code>set</code> <code>= utf8 </code>
<code>[mysqld]</code>
<code>default-character-</code><code>set</code> <code>= utf8</code>
<code>character-</code><code>set</code><code>-server = utf8</code>
<code>init-connect = </code><code>'SET NAMES utf8'</code>
<code>collation-server = utf8_general_ci </code><code>#可选的</code>
创建数据库时指定字符集:
<code>create database zabbix character </code><code>set</code> <code>utf8 collate utf8_bin;</code>
<code></code>
在mysql连接状态查看数据库的字符集:
<code>show create database zabbix_office; </code><code>#查看创建数据库的字符集</code>
<code>show variables like </code><code>'character%'</code><code>; </code><code>#查看mysql默认的字符集</code>
修改字符集:
<code>SET character_set_client = utf8 ; </code>
<code>SET character_set_connection = utf8 ; </code>
<code>SET character_set_results = utf8 ; </code>
<code>SET character_set_database = utf8 ; </code>
<code>SET character_set_server = utf8 ; </code>
<code>SET collation_connection = utf8 ; </code>
<code>SET collation_database = utf8 ; </code>
<code>SET collation_server = utf8 ;</code>
客户端连接仍然看到的是乱码,这时要看客户端的字符集是否和服务端的字符集一致,如果不一致的话要修改客户端字符集:
<code>SET NAMES </code><code>'utf8'</code><code>;</code>
修改已创建数据库的默认字符集,这个没啥好办法,只能导出数据,删库然后重新建库指定默认的字符集。
本文转自 王家东哥 51CTO博客,原文链接:http://blog.51cto.com/xiaodongge/1923961