不乱码的思想:中文环境下建议选择utf-8

1、linux服务器端的设置:

1 [root@localhost app]# cat /etc/sysconfig/i18n 
2 LANG="en_US.UTF-8"
3 SYSFONT="latarcyrheb-sun16"
4 [root@localhost app]# 
5 [root@localhost app]# source /etc/sysconfig/i18n
6 [root@localhost app]# echo $LANG
7 en_US.UTF-8

提示:linux的客户端也要改成对应的字符集,例如:securecrt

2、mysql的客户端:

临时:

set names utf8

或者:

 登录指定字符集:

mysql -uroot -p --default-character-set=utf8

永久:

更改my.cnf客户端模块的参数,可以实现set names utf8的效果,并且永久生效

[client]
default-character-client=latin1

提示:因为更改的是客户端的一些配置,因此无需重启服务,即可重新登录。相当于set names latin1

3、MySQL数据库的服务端:

更改my.cnf的参数:

1 [mysqld]
2 default-character-set=utf8   #适合5.1以前的版本
3 charcter-set-server = utf8 #适合5.5

4、MySQL数据库中建库建表:

指定对应的字符集即可。

5、开发时,连接使用的字符集,也是使用的是一样的字符集。

 

如何更改线上MySQL数据库的字符集?

对于已有的数据,不能直接通过“alter table character set *”   这个命令都没有修改之前记录的字符集,只是对新创建的数据会有影响!

posted on 2014-04-28 18:52  shangzekai  阅读(246)  评论(0编辑  收藏  举报