wiflish
Loving Life! Loving Coding!
posts - 98,comments - 98,trackbacks - 0
问题描述:将应用部署到weblogic后,只要经过sitemesh装饰过的页面都出现乱码,而不经过sitemesh装饰的页面都正常显示。

问题原因:sitemesh在装饰页面时,如果response的contentType为null,则使用java虚拟机属性值"file.encoding",而该值与操作系统相关,在windows系统下,该值=GBK.由于页面本身是utf-8编码的,经过sitemesh装饰后,使用GBK编码转行,产生乱码。

问题解决:在应用启动(如web.xml文件中配置listener,将下面代码放入listener)时,就将file.encoding属性设置为UTF-8编码,这样就不会出现sitemesh装饰后的乱码问题。

设置代码:
Properties prop = System.getProperties();
prop.put("file.encoding", "utf-8");

posted on 2008-10-08 08:49 想飞的鱼 阅读(2040) 评论(3)  编辑  收藏 所属分类: error and solution错误及解决记录

FeedBack:
# re: weblogic与sitemesh乱码问题
2008-10-08 09:02 | 隔叶黄莺
记得在 sitemesh 的配置文件可以设置自己的编码,不需要设置系统级的编码的。

sitemesh 总是那么坏事的,在 Spring 中还要一个特别的 Filter
com.opensymphony.module.sitemesh.filter.PageFilte  回复  更多评论
  
# re: weblogic与sitemesh乱码问题
2009-04-30 14:28 | josdoc
Java开源文档(www.josdoc.com)希望转载您的这篇文章,若不同意,请告知,谢谢!  回复  更多评论
  
# re: weblogic与sitemesh乱码问题
2009-07-12 17:17 | ycfdonews
具体的实现能说的详细点吗?我这边只要被装饰,页面就会出现乱码,不装饰的页面不会出现乱码,用的weblogic10,sitemesh2.4.1.  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: