情况一
描述:对静态页面装饰的话,不论怎么设置编码都是乱码。
解决:动态页面(中文乱码)可以在装饰页面 头部 设置
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>
静态页面(乱码) 把html 改为 jsp ,并在其页面头部加上:
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>
情况二
描述:通过用户输入,产生一个JSP网页,用sitemesh装饰时,JSP页面出现乱码
解决:通过FileOutputStream 链接到一个文件,再把这个流做方法参数,传递给OutputStreamWriter。
在OutputStreamWriter构造函数中,再指定字符编码,即可解决乱码问题。
代码:
FileOutputStream fos = new FileOutputStream(siteRootPath + File.separator +pageName);
OutputStreamWriter writer = new OutputStreamWriter(fos,"utf-8");
BufferedWriter bWriter = new BufferedWriter(writer);