1、对URL解码
1)URI部分解码:<Connector URIEncoding="UTF-8" />
2)QueryString解码要么是 Header 中 ContentType 定义的 Charset,要么是默认编码,使用 ContentType 指定编码是要 <Connector URIEncoding="UTF-8" useBodiEncodingForURI="true" />
2、HTTP Header 的编解码
对 Header 项进行解码是在调用request.getHeader时进行,如 Header 中包含非ASCII字符,应先使用 org.apache.catalina.util.URLEncoder 编码,再添加到 Header 中
3、POST表单中编解码
以 GET POST 方式 HTTP 请求的表单参数都是在 request.getParameter 时进行解码,在第一次调用时要设置 request.setCharacterEncoding(charset)
4、HTTP BODY编解码
以 Response 返回数据时间,先经过编码。编解码字符集通过 response.setCharacterEncoding 来设置
5、访问数据库
设置JDBCURL,如 MYSQL url="jdbc:mysql:mysql://localhost:3306/DB?useUnicode=true&characterEncoding=GBK"