Servlet处理中文乱码问题(请求/响应)

乱码原因

  传输方和接收方采用的编码不一致。传输方对参数采用的是UTF-8编码而接收方却用GBK进行解析,当然是乱码。 Tomcat服务器默认采用的ISO8859-1编码得到参数值。虽然①中采用了同样的编码方式,但经过tomcat一处理,也会出现乱码(GET方式) 

1、请求中文乱码的处理:
--post
  request.setCharacterEncoding("UTF-8");
--get
  String name = new String(“中国”.getBytes(“iso-8859-1”),“UTF-8”)

2、响应中文乱码的处理:
--①字节流:
   设置浏览器默认打开的编码:
    resposne.setHeader(“Content-Type”,”text/html;charset=UTF-8”);
  设置中文字节取出的时候编码.
     “中文”.getBytes(“UTF-8”);
--② 字符流:
   设置浏览器打开的时候的编码
     resposne.setHeader(“Content-Type”,”text/html;charset=UTF-8”);
   设置response的缓冲区的编码
     response.setCharacterEncoding(“UTF-8”);

  **简化的写法

    response.setContentType(“text/html;charset=UTF-8”);

时间: 2024-08-24 08:43:56

Servlet处理中文乱码问题(请求/响应)的相关文章

JSP和Servlet的中文乱码处理

JSP和Servlet的中文乱码处理 前几天学习了JSP和Servlet中有关中文乱码的一些问题,写成了博客,今天进行更新一下.应该是可以解决日常的乱码问题了.现在作以下总结希望对需要的人有所帮助.我也是刚学,所以有不足之处希望谅解. 一.表单提交时出现乱码: 在进行表单提交的时候,经常提交一些中文,自然就避免不了出现中文乱码的情况,对于表单来说有两种提交方式:get和post提交方式.所以请求的时候便有get请求和post请求.以前我一直以为get请求和post请求方式出现的乱码的解决方式是一

servlet中中文乱码问题

在web项目中经常回碰到中文乱码的问题,特此整理一下,有不足的地方,希望大家纠正. 1从前台往后台传数据,.以get方式发送请求,发送的参数不乱,但是后台接收到参数乱码 在Tomcat的server.xml文件中设置URIEncoding属性值为UTF-8%CATALINA_HOME%\conf\server.xml <Connector port="8888" protocol="HTTP/1.1" connectionTimeout="20000

Java Web -- Servlet(10) 中文乱码处理专题

一.产生乱码的原因: 当浏览器通过http协议访问web服务器时,假设此时浏览器的编码是utf-8,当把请求发给web服务器时,web服务器却以ISO-8859-1编码接收,所以就产生了乱码. //设置web服务器接收时,以utf-8形式接收,如下: request.setCharacterEncoding("utf-8"); //编码方式设置和浏览器一样(还有常见的gbk.gb2312) //设置浏览器显示时,以utf-8显示. response.setContentType(&qu

处理servlet中中文乱码问题

平时coding时,经常遇到一些乱码问题,现在总结一下在使用Servlet时遇到的一些乱码问题,简单的解决办法两种 第一种简单处理方式 在servlet中数据的处理是通过request和response进行处理的,提交数据有两种方式:post+get ①post提交方式--只要事先设置request.setCharacterEncoding("UTF-8");-------注:只对POS提交有效 ②get提交方式--通过ISO8859-1得到客户端发送的数据,再转成UTF-8类型.(或

Servlet(六)中文乱码问题

出现中文乱码的原因: 浏览器(请求) 与 服务器(默认编码是iso-8859-1,服务器处理和响应返回)  之间的编码格式不一致 (1)post request.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8"); (2)get String username=new String(request.getParameter("username&q

servlet输出中文乱码

如果请求回应的中文乱码,去tomcat安装目录config文件夹下的server.xml,把connector标签添加个属性UIREncoding="utf-8",如果还是乱码,用System.out.println()测试接收的字符是否乱码,若正常,则在doPost()或doGet()方法里,在 PrintWriter out = response.getWriter(); 前添加 response.setCharacterEncoding("utf-8"); r

Servlet 知识点 中文乱码的本质与解决

本质原因:在servlet中出现中文乱码的原因编码和解码采用的不是一个编码表或者两个编码表不是兼容 例如UTF-8编码.GBK编码都可以读取中文,那么如果采用UTF-8编码保存文件,但是采用GBK编码读取文件就会造成乱码,因此UTF-8编码保存的文件应该使用UTF-8编码读取: 除了上述的utf-8,gbk之外字符编码表,还有ANSI 编码.GB2312编码等常用的编码表. 乱问题的解决: 原文地址:https://www.cnblogs.com/cplinux/p/9738050.html

Java中Servlet输出中文乱码问题

1.现象:字节流向浏览器输出中文,可能会乱码(IE低版本) private void byteMethod(HttpServletResponse response) throws IOException, UnsupportedEncodingException { String date = "你好"; ServletOutputStream outputStream = response.getOutputStream(); outputStream.write(date.get

中文乱码问题(页面乱码,eclipse乱码,请求响应乱码)

1.首先在开发工具eclipse中设置工作空间和文件编码格式,详情参见   http://www.cnblogs.com/lixiang1993/p/7345161.html 2.在eclipse的安装根目录下,打开eclipse.ini文件,在文件最后一行添加 " -Dfile.encoding=utf-8 " ,这样在eclipse中创建的文件就是以utf-8编码保存. 3.请求乱码问题 (1)解决get请求乱码问题:在tomcat根目录下,进入conf文件夹,打开server.x