?????? pageEncoding 是 JSP 文件本身的编码,contentType 的 charset 是指服务器发送给客户端时的内容编码。
?????? JSP 要经过两次的“编码”,第一阶段会用 pageEncoding ,第二阶段会用 utf-8 至 utf-8 ,第三阶段由 Tomcat 出来的网页,用的是 contentType 。
?? 第一阶段是 jsp 编译成 .java ,它会根据 pageEncoding 的设定读取 jsp ,结果是由指定的编码方案翻译成统一的 UTF-8 JAVA 源码 ( 即 .java) ,如果 pageEncoding 设定错了,或没有设定,出来的就是中文乱码。
?? 第二阶段由 JAVAC 得 JAVA 源码至 JAVA ByteCode 的编译,不论 JSP 编码时候用的是什么编码方案,经过这个阶段的结果全部是 UTF-8 的 encoding 的 java 源码。
?