mysql的默认编码是latin1,对汉字的支持不好,需要编辑配置文件,设置mysql的默认编码。 这个过程网上的教程很多,大家可以参考 mysql 修改编码格式 MySQL修改编码设置及乱码问题 linux下的mysql配置修改 途中碰到了好几个坑,真是恶心的不行。 坑1,找不到m
mysql的默认编码是latin1,对汉字的支持不好,需要编辑配置文件,设置mysql的默认编码。
这个过程网上的教程很多,大家可以参考
mysql 修改编码格式
MySQL修改编码设置及乱码问题
linux下的mysql配置修改
途中碰到了好几个坑,真是恶心的不行。
坑1,找不到my.cnf文件
教程里说linux下mysql配置文件的路径在/etc/my.cnf,然而找不到。
百度了一下,说是有可能出现这种情况。囧,有经验的话还可以自己写一个。然而我没经验。
控制台下输入“find / -name my*.cnf”,出现了几个。应该是mysql提供的示例。
随便选了一个my-small.cnf,按照教程里的说法加了几行设置编码的语句,放到/etc/my.cnf下
控制台输入“service mysql restart”,重启mysql
坑2,服务器重启失败
输入重启命令后报错,
把my.cnf文件去掉就可以正常重启了,可能是my.cnf语法问题。
查看mysql的日志,控制台输入“vim /usr/local/mysql/data/iZ28bvt8qj9Z.err”
根据操作的时间锁定日志内容,看到一行信息:
上网搜了下,MYSQL5.5修改字符集报错:unknown variable ‘default-character-set=utf8’
把配置文件中有一行[mysqld] 下的“default-character-set = utf8”注释掉,用“character_set_server = utf8”取代。
重启,问题解决
最终my.cnf内容如下,本来mysql提供的还有很多内容,被我在dubug的过程中一口气删掉了。如果有碰到同样问题的朋友拿来用就很方便了。
<code>[mysql] default-character-set = utf8 [mysqld] #default-character-set = utf8 character_set_server = utf8 [mysql.server] default-character-set = utf8 [mysqld_safe] default-character-set = utf8 [client] default-character-set = utf8 </code>