`
黑猪王子
  • 浏览: 129522 次
  • 性别: Icon_minigender_1
  • 来自: 云南
社区版块
存档分类
最新评论

sitemesh的html中文乱码

阅读更多

今天用到了sitemesh,恩,装饰模式还是很棒的   上手也很快  感觉上比tiltes要好用

但是遇到一个小问题:html中文乱码

 

当然除了对JSP的乱码解决方案外

 

网上就有如是说

 

///////////////////////////////////////////////////////////////

静态html在sitemesh中乱码的解决方法。
 前提条件:sitemesh的decorator的编码全部用UTF-8,使用SetCharacterEncodingFilter把request的encoding也
 设置成UTF-8

 问题1、decorator中的内容出现乱码。
 原因:
 解决方法:改进SetCharacterEncodingFilter,使它对response也设置encoding为UTF-8
 
 问题2、被修饰的html内容出现乱码。
 原因:sitemesh根据html的contenttype(例如:text/html;charset=utf-8)来决定html文件的encoding,
 如果contenttype是像(text/html)这样的形式,sitemesh就无法知道html的encoding,这时sitemesh就
 使用DEFAULT_ENCODING即System.getProperty("file.encoding"),在jetty中正是后面那样,估计tomcat也是这样。
 
 解决方法:使html的encoding和System.getProperty("file.encoding")相同。
   1、启动jetty时将java系统变量file.encoding设置为UTF-8,html的编码也用UTF-8.(推荐)

//////////////////////////////////////////////////////

 

唉  我可以不愿来改服务器的编码,所以简单解决方案 html后缀名直接改jsp

OK了

 

希望能有智者指示下更好方法

分享到:
评论
4 楼 xutao5641745 2011-07-04  
楼主英明,,,,,测试成功。。。。。。


之前没看你帖子的时候,我都是把HTML不进行过滤的,,,,都排除。。。。。哈哈,虽然可以防止乱码,但是觉得不好。。。。
3 楼 mhhtj 2009-05-24  
黑猪王子 写道

mhhtj 写道
请问你这个问题后来有更好的解决方法么?我试过修改服务器的编码,依然静态页面中文乱码。。。

不好意思  后面就没再多研究了,没有找到其他方法了

呵呵,我现在只好都改成jsp了,不用html了。
2 楼 黑猪王子 2009-04-16  
mhhtj 写道

请问你这个问题后来有更好的解决方法么?我试过修改服务器的编码,依然静态页面中文乱码。。。

不好意思  后面就没再多研究了,没有找到其他方法了
1 楼 mhhtj 2009-04-13  
请问你这个问题后来有更好的解决方法么?我试过修改服务器的编码,依然静态页面中文乱码。。。

相关推荐

Global site tag (gtag.js) - Google Analytics