CentosOS 6.5 服务器 控制台输出中文乱码,日志打印中文也乱码


系统是Centos 6.5
使用locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC=zh_CN.UTF-8
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY=zh_CN.UTF-8
LC_MESSAGES="en_US.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=
安装中文自持后
sudo yum groupinstall chinese-support
再修改了sudo vim /etc/sysconfig/i18n
LANG="zh_CN.GB18030"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2313:zh_CN"
SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="latarcyrheb-sun16"
export LC_ALL=zh_CN.UTF-8
重启后,用locale查看还是和没修改是一样
但是现在使用java的system.out.println()打印的中文还是乱码,用Log4j2打印的日志也是乱码
但我的jsp文件或者html文件中的中文通过ssh的控制台查看是正常的 echo "中文" 也是没有问题的,页面的中文也能正常显示,就是控制台输出和日志输出是乱码,mysql中的中文用client查看也是乱码,但最后在页面显示的时候又是正常的,请问是我哪里没有设置对还是还需要怎么设置,求帮助,在线等,急


补充:控制台和日志的乱码已经解决了
在tomcat 的 catalina.sh 中添加
JAVA_OPTS="-Dfile.encoding=UTF-8 -Dsun.jun.encoding=UTF-8"

中文乱码 编码 字符集 centos6.5

wwsad 10 years, 3 months ago

1、java Web不懂,我只是建议换一个方向查问题。
2、mysql中文乱码是mysql的配置问题。
3、关于locale,同centos,配置如下


 LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

c printf中文,没有乱码

相对论对相 answered 10 years, 3 months ago

Your Answer