liferay控制台输出乱码问题

原创 2007年09月22日 09:03:00

   近日准备开发一个基于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之类的设置就可以了。 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Eclipse控制台输出中文乱码问题的解决

啥都不说,上图: 1、console控制台打印乱码 2、右键: Run As --> Run Configurations 3、找到common项,在“Encoding”栏,看到...

关于Java控制台输入输出乱码问题

原文链接http://hioies.iteye.com/blog/1392571  博客分类:  eclipse 今天在研究某个开源项目时,有如下代码:  Java代码   Bu...

IntelliJ IDEA 控制台输出中文乱码问题的解决方法

首先,找到 IntelliJ IDEA 的安装目录,进入“bin”目录下,定位到“ idea.vmoptions ”文件,如下图所示:双击打开“ idea.vmoptions ”文件,如下图所示:然后...

解决Myeclipse/eclipse控制台输出乱码的问题

这段时间一直在做flex项目,每次编译的时候Myeclipse控制台(console)的输出都是乱码,就算编译报错了也是各种乱码。实在是不方便啊,要看个错都得靠连蒙带猜的。。虽然猜BUG的能力日渐提高...

控制台程序的中文输出乱码问题,printf,wprintf与setlocale

#include #include int main(void) { char str[] = "中文"; wchar_t wstr[] = L"中文"; printf("...

关于Eclipes控制台中文输出乱码问题

Eclipes控制台输出乱码问题一般与字符集问题有关。 运行这段代码,用system.out.println直接输出是没有问题的,但是从控制台接收用户输入后再输出,便出现了乱码问题。调试后发现...

ZendStudio控制台输出中文乱码问题的解决

ZendStudio控制台输出乱码问题的解决 在刚刚安装的ZendStudio中往往会出现中文的乱码问题,如下图   这时就需要简单的配置一下了。 步骤: 1、单机工具栏上的Project按...

Cocos2d—X游戏开发之VS2010 控制台输出中文,模拟器中文乱码问题解决(十八)下篇

#include 继续上篇的问题。 在解决了中文显示乱码的问题之后,仍然有很多的问题需要我们解决。 现在放在我们面前的问题有2个。第一个是虽然可以显示中文,但是是wstring的类型,肯定不是我们...

Cocos2d—X游戏开发之VS2010 控制台输出中文,模拟器中文乱码问题解决(十八)上篇

首先,先解决第一个问题,我们使用VS2010开发的时候,调试的时候,中文打印出来都是乱码,这个问题很纠结。 如下图: CCLOG("cclog: 测试使用标签的自动换行和个别字体大写");LOGNEW...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)