tomcat8版本 解决了get请求时 乱码的问题 post请求依旧是乱码的
方法1 解决所有乱码问题 (tomcat早期版本乱码问题/post请求乱码问题)
原理 将乱码文字 按照乱码的编码打碎成字节数组 再按照正确的编码组装为字符串即可
步骤
1 将接受到的文字字符串,按照iso-8859-1编码
byte[] bytes = 乱码文字.getBytes("ISO-8859-1");
2 将字节数组 按照正确的编码重新组装为文字
String 正常文本 = new String(bytes,"UTF-8");
方法2 仅用于解决POST乱码问题 用于在数据获取之前 调整请求体的编码格式(写在doPost方法的第一行)
Request.setCharacterEncoding("UTF-8");
响应时 乱码问题
处理响应乱码时,GET请求与POST请求方式一致
方式1 设置网页内容类型 并设置编码格式
Response.setContentType("text/heml;charset=utf-8");
方式2 仅仅用于设置编码格式,使用方式2 可能导致浏览器打开依旧乱码
Request.setCharacterEncoding("UTF-8");