处理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");

posted @ 2017-06-06 23:11  程序波  阅读(731)  评论(0编辑  收藏  举报