一、请求问题
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">