JAVA WEB 中涉及的编解码

时间:2023-03-09 18:50:14
JAVA WEB 中涉及的编解码

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"