liferay控制台输出乱码问题

   近日准备开发一个基于liferay的网站,下载liferay4.3.0(基于tomcat),解压、启动运行,发现在启动控制台中有中文乱码,形如“淇℃伅: Initializing”,考虑到liferay的国际化支持非常好,其相关的java文件应该都是UTF-8编码,而且乱码是tomcat本身启动过程中显示乱码。


   控制台文本输出的编码格式是由java虚拟机的file.encoding环境变量控制,其对应的可以是UTF-8,gb2312等。准备从tomcat的启动脚本寻找答案,看看其java启动参数选项中是否有file.encoding相关的信息。打开catalina.bat,看到JAVA_OPTS=%JAVA_OPTS% -Xms128m -Xmx512m -Dfile.encoding=UTF8这样的信息,就感觉可能是这个编码有问题,先去掉试试看,遂去掉该设置重启liferay,中文输出显示正常。正常信息为“信息: Initializing”。


   原本以为可能启动参数中缺少编码设置,而java缺省的编码设置是操作系统的编码,以中文操作系统(windows2000、xp等)为例,其缺省编码是GB18030,这种编码格式可能不适合liferay的控制台输出,需要增加编码设定,考虑到liferay的国际化支持,所以要增加-Dfile.encoding=UTF8,然而实际情况是现在liferay的启动参数中已经有这个选项,而且还不好用,去掉反而输出正常了。


   这种反常的现象,个人认为,无论是加上还是去掉-Dfile.encoding=UTF8编码,都会有问题,去掉这个选项解决了tomcat的输出中文问题,但是如果liferay的java文件,也要输出中文就可能有问题了,因为liferay的java文件是UTF-8编码,现在缺省输出编码是GB18030。加上这个选项,则liferay的java程序输出中文正常,tomcat的中文输出就有上面说的问题了。根本原因在于tomcat的输出和liferay的输出编码不一致导致的,要根本解决这个问题,需要两者的编码输出一致。估计tomcat的编码输出能够定制,调整一下tomcat的输出,估计是log4j之类的设置就可以了。 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值