乱码问题

一、请求问题

  tomcat服务器默认使用的是ISO8859-1编码

  post请求乱码

  request.setCharacterEncoding("UTF‐8");
  ‐‐告诉容器,解析请求中的数据时使用utf‐8的编码进行解析

  get请求乱码

    1、对当前的编码进行转码,将ISO8859-1的编码转换成utf-8

    name=new String(name.getBytes("ISO8859‐1"),"UTF‐8");

    2、将tomcat默认的字符集改为UTF-8

      找到tomcat安装目录下的conf目录中的server.xml

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

二、响应乱码

  告诉容器响应的数据格式是text/html,即使用的是html文本,响应的字符集是utf-8

  以utf-8的编码传输给客户端,告诉浏览器以utf-8的编码解析响应数据,并打开

  response.setContentType("text/html;charset=utf­8")

三、java中进行数据库操作时遇到乱码

  连接数据库时指定编码

  "jdbc:mysql://127.0.0.1:3306/web?useUnicode=true&characterEncoding=utf8"

四、建表时需要指定编码

  engine=Innodb default charset=utf8

五、页面乱码

  jsp:pageEncoding="UTF‐8"
  html:<meta charset="UTF‐8">

  

原文地址:https://www.cnblogs.com/superxff/p/8125861.html