首页 > 代码库 > 我的中文问题

我的中文问题

中文乱码的问题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) 

2、启动tomcat用户的默认语言是:

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=

3、vim java源代码中文没有问题

4、修改启动tomcat用户的语言为:

export LANG=en_US

结果:a中文乱码;b webapp默认是英文版(正确)


最后的解决方法

1、编译java代码时候加入参数:javac    encoding="UTF-8"

2、修改tomcat的启动脚本start.sh,最前面加入:export LANG=en_US

     注意:不要修改用户的默认语言了。