在Mac OS X中解决MySQL中文乱码

一、新建数据库时确保Default Character Set设为utf8、Default Collation设为utf8_general_ci。若数据库建立时不为该编码,则修改数据库编码后需删除重建该数据库下所有表。若使用Java、PHP等操作数据库,请确保所有编码均被设置为utf-8。

二、若插入时仍存在乱码,先查看MySQL的编码设置:
1、使用Root账户进入MySQL命令行:在终端中执行命令:mysql -u root -p。
2、在MySQL命令行中执行命令:show variables like 'character_set_%';
3、查看除"character_set_filesystem"项外的值是否均为utf8。

三、若存在除"character_set_filesystem"项外不为utf8的值,则按如下方式进行修改:
1、关闭MySQL服务:重新启动终端,执行命令:
sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop,或在系统偏好设置中启动。
2、打开Finder,按快捷键Shift+Command+G(或点击菜单:前往->前往文件夹),输入/usr/local/mysql/support-files。
3、拷贝my-default.cnf至/etc文件夹下,并将拷贝后的文件更名为my.cnf。
4、编辑my.cnf,在该文件最后增加以下几行代码:

[mysqld]
character-set-server=utf8
[client]
default-character-set=utf8

5、启动MySQL服务:在终端中执行命令:
sudo /Library/StartupItems/MySQLCOM/MySQLCOM start,或在系统偏好设置中启动。

四、若使用Tomcat时,中文关键字查询仍无法正常获取结果,则按如下方式修改Tomcat配置文件:
1、打开Tomcat安装目录下的conf目录中的server.xml
2、搜索"Connector port",在其中加入URIEncoding="UTF-8"。

发表评论

电子邮件地址不会被公开。 必填项已用*标注