HttpServletRequest/Response中文处理

Posted ljingdev

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HttpServletRequest/Response中文处理相关的知识,希望对你有一定的参考价值。

获取中文数据

关于数据在客户端与服务器端的编码

get方式传输到服务器使用的getParameter 默认使用ISO-8859-1去解码

GET方式获取中文数据

方式一:代码转换

又由于传过来的数据是ISO-8859-1编码的数据,此时只要将数据转换为UTF-8即可

username = new String(username.getBytes("ISO-8859-1") , "UTF-8");

方式二:修改Tomcat接受数据的编码

可以在tomcat里面做设置处理 conf/server.xml加上URIEncoding="utf-8"

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8"/>

POST方式获取中文数据

由于POST的数据走的不是url所以不能使用上面的第一种方式

方式:设置接受的数据的编码为UTF-8即可

request.setCharacterEncoding("UTF-8");

注意:要写在getParameter之前

输出中文数据

  1. 首先设置输出的编码以及显示的 编码都是UTF-8

    response.setContentType("text/html;charset=UTF-8");
  2. 再写出数据即可(字符流字节流通用)

以上是关于HttpServletRequest/Response中文处理的主要内容,如果未能解决你的问题,请参考以下文章