最近在工作中遇到了由于linux服务器字符集与返回报文要求的字符编码格式不符造成报错的问题,现提供修改方法:
1、在命令行输入export LANG=zh_CN.UTF-8,然后使用locale命令查看当前用户字符集
发现已修改为“zh_CN.UTF-8”,但此种方法,重启服务后会消失,仍回复为默认的编码格式,此时可以:
在.bash_profile文件中加入:
export LANG=zh_CN.UTF-8
export LANG
此时,再重启服务后仍是设置的zh_CN.UTF-8字符集
2、在root用户下修改全局的编码格式,编辑文件/etc/sysconfig/i18n,将你需要的字符集前的注释符(即#)去掉即可,其他的字符集前加#,
此时需重启linux服务器后才生效
3、至于linux中的LC_ALL、LC_*、LANG的优先级,参考:http://blog.csdn.net/ktyl2000/article/details/4156769