中文乱码问题

解决Post请求中文乱码问题

  Tomcat默认使用字符集ISO-8859-1,属于西欧字符集

  解决乱码的核心思路是将ISO-8859-1转换为UTF-8

  Servlet中请求与响应都需要设置UTF-8字符集

  1、第一种  

  String name = request.getParameter("username");

  String positive = request.getParameter("job");

  String CharsetName = new String(name.getBytes("ISO-8859-1"),"UTF-8");
  String CharsetPositive = new String(positive.getBytes("ISO-8859-1"),"UTF-8");
  response.setContentType("text/html;charset=utf-8");
  response.getWriter().println("<h1>"+CharsetName+":"+CharsetPositive+"</h1>");

  

  2、第二种

  

  request.setCharacterEncoding("UTF-8"); //只有POST的请求有用,因为会把请求体的字符集转换为utf-8
  String name = request.getParameter("username");
  String positive = request.getParameter("job");

  response.setContentType("text/html;charset=utf-8");
  response.getWriter().println("<h1>"+name+":"+positive+"</h1>");

解决Get请求与响应中文乱码

    对于Tomcat8.x版本,默认get请求发送中文就是UTF-8的格式。

  

原文地址:https://www.cnblogs.com/wuheng-123/p/13653557.html