MySQL字符集修改初步整理
技术统括部
李成兴 2011-03-28
目录
0、背景............................................................................................................................................. 2 1、查找MySQL的cnf文件的位置 ................................................................................................. 3 2、my.cnf的拷贝 ............................................................................................................................ 3 3、修改my.cnf ................................................................................................................................ 4 4、重新启动MySQL .......................................................................................................................... 5 5、查看字符集设置 ......................................................................................................................... 5 6、总结............................................................................................................................................. 6
第 1 页 共 6 页
MySQL字符集
0、背景
最近在构筑OpenStandia的Demo环境,使用的Linux+MySQL+JBoss的组合方式,部署完成以后,在客户端访问的时候,有些日文字和汉字显示为乱码。开始以为是程序的问题或者是OS语言包安装问题,最后发觉都不是,原来是MySQL字符集的设置问题,还是我等对MySQL了解不够呀。下面就是针对Linux OS上MySQL字符集修改所做的初步整理,肯定有需要完善的地方,只能以后一步一步来做了。
第 2 页 共 6 页
MySQL字符集
1、查找MySQL的cnf文件的位置
find / -iname '*.cnf' –print
2、my.cnf的拷贝
如果没有发现既存的my.cnf文件,拷贝 small.cnf、my-medium.cnf、my-huge.cnf、my-innodb-heavy-4G.cnf其中的一个到/etc下,命名为my.cnf cp /usr/share/mysql/my-medium.cnf /etc/my.cnf 查询结果中有my.cnf,那就直接修改了。
第 3 页 共 6 页
MySQL字符集
3、修改my.cnf
vi /etc/my.cnf
在[client]下添加
default-character-set=utf8 在[mysqld]下添加
default-character-set=utf8
第 4 页 共 6 页
MySQL字符集
4、重新启动MySQL
/etc/rc.d/init.d/mysql restart
5、查看字符集设置
mysql> show variables like 'collation_%';
mysql> show variables like 'character_set_%';
第 5 页 共 6 页
MySQL字符集
6、总结
如果系统需要支持中文、日文等多语言存储,那么数据库的字符集、表的字符集都应当设置为UTF-8,否则会有乱码存在。数据库默认安装的字符集和创建表的默认字符集都是latin1,数据库和表的创建时就可以直接修改;如果没有修改,那只能等创建完修改。
第 6 页 共 6 页
因篇幅问题不能全部显示,请点此查看更多更全内容