servlet乱码问题详解
来源:互联网 发布:美工基础知识 编辑:程序博客网 时间:2024/05/18 00:58
浏览器发送一次请求(带参数的)一般要经过浏览器->tomcat服务器->eclipse
浏览器、tomcat、eclipse都有自己的编码方式,如果这三种编码方式不一样自然会产生乱码。
tomcat默认的编码方式是iso-8859-1,如果我们不想更改tomcat的编码方式,就需要保持浏览器和eclipse字符集是一致的。
例如:
浏览器采用utf-8,tomcat采用iso-8859-1,eclipse采用utf-8。浏览器发送一段请求参数的编码过程:参数通过浏览器以utf-8的字符集格式发送给Tomcat服务器,
Tomcat服务器以iso-8859-1读取数据内容,这时候数据在Tomcat里是乱码的,但传到eclipse时又重新使用utf-8读取服务器传来的数据,这时读到的数据是正常的。
这个编码的经过就是utf-8->iso-8859-1->utf-8,自然不会乱码。
错误编码的列子:
utf-8->iso-8859-1->gbk,浏览器以utf-8发送数据,tomcat用iso-8859-1读数据,eclipse由使用gbk读数据,不乱码就怪了。
对于get请求和post请求出现乱码不同的解决方式
现在tomcat8及以上的版本接受get请求时不会出现乱码,tomcat8以下的版本对于get请求使用:request.getParameter("name").getBytes(“ISO-8859-1”),utf-8)
对于post请求使用request.setCharacterEncoding("utf-8"),此方法对get请求无效。
在我们响应给浏览器信息时,编码方式不对浏览器也会出现乱码。
解决方案:
①response.setCharsetEncoding("utf-8"); response.setHeader("content-type","text/html;charset=utf-8")
②response.setContentType("text/html;charset=utf-8")
- servlet乱码问题详解
- Servlet乱码问题的详解
- Servlet 乱码问题
- servlet乱码问题
- servlet 中文乱码问题:
- servlet乱码问题!
- 解决 Servlet 乱码问题
- servlet乱码问题
- servlet中文乱码问题
- Servlet 乱码问题
- servlet中文乱码问题
- Servlet 乱码问题
- servlet中文乱码问题
- servlet中文乱码问题
- Servlet中文乱码问题
- servlet中的乱码问题
- Servlet字符集乱码问题
- Servlet 中文乱码问题
- Unique Paths II
- Eureka 提供方 demo
- leetcode70- Climbing Stairs
- 利用python进行数据分析(二):Numpy数组
- C#概念理解-收集
- servlet乱码问题详解
- AC自动机
- JAVAWEB第一天css篇
- 学生信息管理系统7
- flask-login用户加载流程,user_callback,token_callback,request_callback,header_call_back相关问题
- BZOJ1412 [ZJOI2009]狼和羊的故事 最小割
- Python 循环语句和条件语句
- 最常用的15大Eclipse开发快捷键技巧
- 蓝桥杯非VIP题Java全解(不断更新中...)