contentType -- 指定的是JSP页最终 Browser(客户端)所见到的网页内容的编码. pageEncoding -- 指定JSP编写时所用的编码 因为 JSP要经过 两次的"编码", 阶段一是 JSPC的 JSP至JAVA(.java)原码的"翻译", 它会跟据 pageEncoding 的设定读取JSP. 结果是 由指定的 阶段二是由 JAVAC的JAVA原码至JAVA BYTECODE的编译. 不论JSP的编写时是用(utf-8,Big5,gb2312),经过阶段一的结果全 阶段三是TOMCAT(或其的application container)加载和执行阶段二得来的JAVA二进制码, 输出的结果( 也就是BROWSER(客户端)) response.setContentType("text/html; charset=utf-8"); 出来的可以是 utf-8, Big5, gb2312, 看的就是JSP ? contentType的设定. <%@ page session="false" pageEncoding="big5" contentType="text/html; charset=utf-8" %> 还有, pageEncoding 和contentType的预设都是 ISO8859-1. 而随便设定了其中一个, 另一个就跟着一样了(TOMCAT4.1.27是如此). 一个简单的解决方法是在包含和被包含文件的开始部分都加上: <%@ page contentType="text/html;charset=GB2312" language="java" %> |
(收集)关于 contentType 和 pageEncoding 的差异 和 中文JSP页的设定技巧
最新推荐文章于 2022-02-23 22:06:09 发布