在 jsp 页面源码中 会有 如下的 参数设置:
<%@ page language="java" pageEncoding="UTF-8" contentType="text/html;charset=UTF-8" %>
其意义 是:
第一个编码 pageEncoding="UTF-8" 是针对 jsp 页面的编码。就是在我们的操作系统中jsp源文件的编码。容器会检测这个值对源文件进行编译。
第二个编码contentType="text/html;charset=UTF-8" 是指jsp 输出结果的编码,同时浏览器会将编码设成相应的编码,当浏览器发送请求时,会使用此编码对发送的内容编码。
另外,要想在 Servlet 中正常显示,还需 通过
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
来设置跟 jsp 一样的编码。
但是,当jsp 的请求方式 为 get 时,这样设置仍然无效,还需 在 server.xml 中connector的URIEncoding属性来指定. 也就是说如果完全解决编码问题,对于tomcat来讲需要两种方式都加。
1286

被折叠的 条评论
为什么被折叠?



