首页 > 代码库 > 处理request接收参数的中文乱码的问题:

处理request接收参数的中文乱码的问题:

? POST的解决方案:

* POST的参数在请求体中,直接到达后台的Servlet.数据封装到Servlet中的request中.request也有一个缓冲区.request的缓冲区也是ISO-8859-1编码.

* 设置request的缓冲区的编码:

    * request.setCharacterEncoding(“UTF-8”);  --- 一定要在接收参数之前设置编码就OK.

 

? GET的解决方案:

* 1.修改tomcat的字符集的编码.(不推荐)

* 2.使用URLEncoder和URLDecoder进行编码和解码的操作.

* 3.使用String的构造方法:

String(byte[] bytes, String charsetName)
          通过使用指定的 charset 解码指定的 byte 数组,构造一个新的String。

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

处理request接收参数的中文乱码的问题: