惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Jina AI
Jina AI
大猫的无限游戏
大猫的无限游戏
Microsoft Security Blog
Microsoft Security Blog
C
Check Point Blog
云风的 BLOG
云风的 BLOG
J
Java Code Geeks
阮一峰的网络日志
阮一峰的网络日志
MongoDB | Blog
MongoDB | Blog
Engineering at Meta
Engineering at Meta
H
Help Net Security
Microsoft Azure Blog
Microsoft Azure Blog
Recent Announcements
Recent Announcements
Google DeepMind News
Google DeepMind News
F
Fortinet All Blogs
宝玉的分享
宝玉的分享
H
Hackread – Cybersecurity News, Data Breaches, AI and More
腾讯CDC
A
About on SuperTechFans
酷 壳 – CoolShell
酷 壳 – CoolShell
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
S
SegmentFault 最新的问题
Vercel News
Vercel News
aimingoo的专栏
aimingoo的专栏
B
Blog RSS Feed

博客园 - xwy.net

玩转ubuntu8.04,记录下碰到的问题,及解决 解决div里放table自适应的问题 temp - xwy.net - 博客园 hibernate annotation+spring 级联更新问题解决 注意啦,Struts 2.1.6跟sitemesh-2.4.1不兼容 struts2+freemarker+sitemesh乱码,解决了 firefox3关闭缓存的办法 jQuery.Autocomplete(新版本)自动完成插件在中文应用时的BUG修正 - xwy.net - 博客园 搞定URL中文编码 - xwy.net - 博客园 关于Content-Length cxfc采用UsernameToken时的PasswordDigest问题 centos5.1远程升级ssh到5.0p1 asm冲突的问题,找了半天 莫名其妙的网络问题,原来是KB951748惹得祸 RHCS环境中oracle监听的问题 解决jasperreport生成html分页和打印问题 自制百香果汁(图) svn的RA layer request failed问题 MySQL的AUTO_INCREMENT
sitemesh,html乱码问题解决不了,难道一定要用jsp - xwy.net...
xwy.net · 2009-03-17 · via 博客园 - xwy.net

接上篇struts2+freemarker+sitemesh乱码,解决了

发现模板页编码正常了,被修饰页却乱码了

google了一下,发现jsp的可以根据<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>来识别编码,HTML的却不行,而且没有好的解决方案,我不想把系统默认编码拿去改

只要把html改成jsp,想想在这种情况下,html跟jsp的效率估计也差不多,反正都是要经过sitemesh修饰后才能出来的

附网上不完美的解决方案:

静态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.(推荐)