不乱码的思想:中文环境下建议选择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 *” 这个命令都没有修改之前记录的字符集,只是对新创建的数据会有影响!