JSP中定义<%@ page contentType=”text/html;charset=utf-8″
pageEncoding=”GBK”%>,
说明(多选)
a.输出的网页编码是utf8的
b.输出的网页编码是GBK的
c.输出的网页采用utf编码,显示在页面的字符集使用GBK
d.输出的网页采用GBK编码,显示在页面的字符集使用utf8编码
pageEncoding是jsp文件本身的编码
contentType的charset是指浏览器到服务器发送时使用的编码;以及服务器返回到浏览器使用的编码
JSP要经过三次的“编码”,第一阶段会用JSP本身的pageEncoding,第二阶段会用JAVAC的utf-8,第三阶段就是由Tomcat出来的网页, 用的是contentType
第一阶段是jsp编译成.java,它会根据pageEncoding的设定读取jsp,结果是由指定的编码方案翻译成统一的UTF-8 JAVA源码(即.java),如果pageEncoding设定错了,或没有设定,出来的就是中文乱码。
第二阶段是由JAVAC的JAVA源码至java byteCode即.class的编译,不论JSP编写时候用的是什么编码方案,经过这个阶段的结果全部是UTF-8的encoding的java源码。
第三阶段是Tomcat(或其它的application container)载入和执行阶段二的来的JAVA二进制码,输出的结果,也就是在客户端见到的,这时隐藏在阶段一和阶段二的参数contentType就发挥了功效
因此答案为A,C