中文乱码的问题N多人碰到了,也有N多解决方法。这是我碰到的一个问题之一,仅记。
环境:
1、Centos
2、JDk1.7
3、Tomcat7
4、git
5、ant1.9.4
现象:
1、java源代码是utf-8编码的,但其中的中文输出是乱码;
2、我的webapp默认要求显示英文,但显示中文(有些内容是从属性文件中读取的);
其他信息:
1、系统默认语言
LANG="en_US.UTF-8" SUPPORTED="en_US.UTF-8:en_US:en" SYSFONT="latarcyrheb-sun16" /etc/sysconfig/i18n (END)
LANG=zh_CN.UTF-8 LC_CTYPE="zh_CN.UTF-8" LC_NUMERIC="zh_CN.UTF-8" LC_TIME="zh_CN.UTF-8" LC_COLLATE="zh_CN.UTF-8" LC_MONETARY="zh_CN.UTF-8" LC_MESSAGES="zh_CN.UTF-8" LC_PAPER="zh_CN.UTF-8" LC_NAME="zh_CN.UTF-8" LC_ADDRESS="zh_CN.UTF-8" LC_TELEPHONE="zh_CN.UTF-8" LC_MEASUREMENT="zh_CN.UTF-8" LC_IDENTIFICATION="zh_CN.UTF-8" LC_ALL=
4、修改启动tomcat用户的语言为:
export LANG=en_US
结果:a中文乱码;b webapp默认是英文版(正确)
最后的解决方法
1、编译java代码时候加入参数:javac encoding="UTF-8"
2、修改tomcat的启动脚本start.sh,最前面加入:export LANG=en_US
注意:不要修改用户的默认语言了。
原文地址:http://blog.csdn.net/rol2er/article/details/38053015