1.进入mysql,输入show variables like 'character%';
查看当前字符集编码情况,显示如下:
其中,character_set_client为客户端编码方式;
character_set_connection为建立连接使用的编码;
character_set_database数据库的编码;
character_set_results结果集的编码;
character_set_server数据库服务器的编码;
只要保证以上四个采用的编码方式一样,就不会出现乱码问题。
2.修改数据库的编码格式
方法一:命令为:set character% = utf8;
例如:set character_set_client =utf8;
但是这个修改只是暂时的,限于当前会话,一旦数据库退出,就会失效
方法二:修改my.cnf文件
命令:vi /etc/my.cnf(提示:my.cnf文件的具体位置因安装版本或系统而异)
找到[client] 添加:
default-character-set=utf8
找到[mysqld] 添加:
default-character-set=utf8
然后重启mysql服务。
但是,此时发现,mysql根本无法启动
解决方法:重新打开my.cnf文件,
找到[mysqld] :
将default-character-set=utf8 改成 character-set-server=utf8
重新启动mysql,再次登陆mysql,输入命令:show variables like 'character%';查看编码,发现编码已改变为utf8
附:
MySQL字符集的原理介绍。摘录于官方文档。http://dev.mysql.com/doc/refman/5.1/zh/charset.html
关于字符集的详细介绍和例子:
http://dev.mysql.com/doc/refman/5.1/zh/charset.html (第10章:字符集支持)。