一,概述
1.为什么会出现乱码问题
因为客户端(浏览器)和服务器端的编码和解码不一致. 我们web阶段都是围绕请求响应机制展开的, 客户端请求服务器,服务器给客户端做出响应 . 也就意味着客户端和服务器需要进行数据交互.这数据是在wifi或者网线里面传输的, 在传输的过程中是电脉冲信号(二进制).
二,请求乱码
1.GET方式
- 出现原因分析
- 乱码解决, 一编(编码)一解(解码)
1 //获得是乱码 å¼ ä 2 String name = request.getParameter("name"); 3 //通过iso8859-1编码,得到%E5%BC%A0%E4%B8%89 4 name = URLEncoder.encode(name, "iso8859-1"); 5 //通过utf-8解码, 得到张三 6 name = URLDecoder.decode(name, "utf-8"); 7 //或者上面两行写成一行 8 name = new String(name.getBytes("iso8859-1"), "utf-8");
2.POST方式
- post方式原因也是因为客户端(浏览器)和服务器端的编码和解码不一致, 但是post方式请求参数在请求体里面, 有专门的API来解决
request.setCharacterEncoding("utf-8");
三,响应乱码
- 出现原因分析和解决