JavaWeb中请求与响应的乱码问题
来源:互联网 发布:猫叔100的淘宝 编辑:程序博客网 时间:2024/06/16 18:07
对于学习JavaWeb的同学,乱码无疑是令人最头痛的问题之一,当然博主也曾因为这样的问题弄得满头雾水,所以在这儿稍作总结。首先我们应该知道常见的字符编码都有哪些,以及出现乱码的根本原因是什么。
常见的编码有:ISO-8859-1(不支持中文),GBK,GB2312(中国编码,支持中文),UTF-8(万国码,支持所有国家语言,推荐使用)。
乱码原因:解码时所用的码表和编码时所用的码表不一致。其中编码的意思是字符串-->字节,解码的意思是字节-->字符串。
我们先来看看服务器响应中的乱码问题:(博主所用的服务器为Tomacat)Tomcat服务器中的默认编码格式为ISO-8859-1,而浏览器默认的编码格式与主机内码相同即在中国一般都是GBK,所以要想不乱码我们必须在输出响应信息之前保持两种编码格式相同,博主在这儿使用的推荐编码格式UTF-8。
①.设置服务器编码格式的方法是:
response.setCharacterEnconding("UTF-8");②.设置浏览器编码格式的方法是:
response.setHeader("Content-Type","text/html;charset=UTF-8");还有一种便捷的方式来设置服务器与浏览器的编码格式保持一致:
response.setContentType("text/html;charset=UTF-8");下面看一下在请求信息中如何能够不乱码:在浏览器的地址栏中输入的信息一般为GBK的编码格式,在表单或者链接中输入的信息一般与当前网页的编码格式相同,与上面同样的道理,我们要在获取请求信息之前设置服务器编码与获取的参数的编码格式相同。
①.一般在地址栏中我们不会输入中文,所以乱码很难出现,这里也就不赘述这种问题解决方式。
②.在获取表单信息时,我们常使用反编的形式,即如下所示:
//获取表单参数String name=request.getParamete("name");//获取参数的字节数组(编码)byte[] bytes=name.getBytes("ISO-8859-1");//重新解码name=new String(bytes,"UTF-8");相信大家看完之后,对于JavaWeb中请求与响应中的乱码问题已经有所掌握,如果文章中有错误之处欢迎拍砖。
![大笑](http://static.blog.csdn.net/xheditor/xheditor_emot/default/laugh.gif)
0 0
- JavaWeb中请求与响应的乱码问题
- javaweb 解决请求相应的乱码问题
- JavaWeb中关于请求乱码的讲解
- javaweb中乱码的问题
- JavaWeb请求与响应(一)
- Http协议中关于请求与响应中文参数乱码问题详解
- tomcat部署javaweb ,请求中参数中文乱码问题
- javaWeb中,解决接收请求数据中的中文乱码问题
- javaweb中乱码问题
- JavaWeb中乱码问题
- JAVAWeb中请求Request,Response,cookie的中文乱码处理
- 解决servlet响应用户中文请求信息的乱码问题
- springMVC请求和响应时的中文乱码问题
- JavaWeb---Servlet的请求和响应
- javaweb中中文乱码问题
- javaWeb中解决乱码问题
- Javaweb中乱码问题详解
- JavaWeb 响应请求
- mysql插入操作--插入中文的时候报错的解决方法
- 学会作笔记
- [学习笔记]Objective-C与C学习交接(3)
- HDU 1157
- HDU3952 Fruit Ninja (几何)
- JavaWeb中请求与响应的乱码问题
- 分布式一致性算法
- java程序在eclipse中如何添加不同版本的jre
- 个位数统计
- Java编程风格规范(Google )
- Shellcoding教程:介绍ASM
- HDU5210——Delete
- linux基础编程:IO模型:阻塞/非阻塞/IO复用 同步/异步 Select/Epoll/AIO
- 视频抠像算法