Servlet: Servlet接收中文乱码

1 接收乱码原因

  浏览器在提交表单时,会对中文参数值进行自动编码。

  当Tomcat服务器接收到浏览器请求后,自动 解码,当编码与解码方式不一致时,就会导致乱码。

 

2 解决POST接收乱码  

接收之前,设置编码方式:
    request.setCharacterEncoding(“utf-8”)
提示:
    必须在调用request.getParameter(“name”)之前设置

 

3 解决GET接收乱码

将接收到的中文乱码重新编码:
    // 接收到get请求的中文字符串
    String name = request.getParameter("name");
    // 将中文字符重新编码,默认编码为ISO-8859-1
    String userName = new String(name.getBytes(“ISO-8859-1”),“utf-8");

 

posted @ 2021-09-13 19:20  Jasper2003  阅读(109)  评论(0编辑  收藏  举报