JBOSS7/EAP6 log日记乱码等问题解决

现象: 中文在jboss log文件和cmd命令窗口中乱码,不影响程序内部运行.
折腾半天发现问题,不指定JVM的编码,那么JVM会获取系统的编码进行使用.
所以需要指定编码:
standalone.bat 中追加

rem Setup JBoss specific properties
set "JAVA_OPTS=-Dprogram.name=%PROGNAME% %JAVA_OPTS% -Dfile.encoding=UTF-8 -Dfile.io.encoding=UTF-8 -DjavaEncoding=UTF-8 -Dsun.jnu.encoding=UTF-8 "

sun.jnu.encoding 影响文件名的创建,而 file.encoding 则影响到文件内容。

至此,jboss log日记已经无乱码,但是命令窗口还是乱码.
            
在中文Windows系统中,如果一个文本文件是UTF-8编码的,那么在CMD.exe命令行窗口(所谓的DOS窗口)中不能正确显示文件中的内容。在默认情况下,命令行窗口中使用的代码页是中文或者美国的,即编码是中文字符集或者西文字符集。
如果想正确显示UTF-8字符,可以按照以下步骤操作:
1、打开CMD.exe命令行窗口
2、通过 chcp命令改变代码页,UTF-8的代码页为65001,GBK 936
chcp 65001
chcp 936
执行该操作后,代码页就被变成UTF-8了。但是,在窗口中仍旧不能正确显示UTF-8字符。
3、修改窗口属性,改变字体
在命令行标题栏上点击右键,选择"属性"->"字体",将字体修改为True Type字体"Lucida Console",然后点击确定将属性应用到当前窗口。
这时使用type命令就可以显示UTF-8文本文件的内容了:
type filename.txt
4、通过以上操作并不能完全解决问题,因为显示出来的内容有可能不完全。可以先最小化,然后最大化命令行窗口,文件的内容就完整的显示出来了


你可能感兴趣的:(JBOSS7/EAP6 log日记乱码等问题解决)