前军教程网

中小站长与DIV+CSS网页布局开发技术人员的首选CSS学习平台

《Servlet》第19节:HttpServletResponse响应对象解决乱码问题

前面已经介绍了HttpServletResponse响应对象中的一些常用方法,这一小节介绍如何使用HttpServletResponse响应对象,解决中文乱码问题。

1.1、乱码问题的原因

使用HttpServletResponse响应对象,发送数据给浏览器客户端的时候,浏览器接收到中文,会出现乱码情况,出现这个问题的根本原因还是:浏览器和服务器之间的编码字符集不一致

默认情况下,Servlet容器是采用ISO-8859-1的编码将数据发送给浏览器客户端的,但是客户端采用何种编码方式来解析是不一定的,有可能是UTF-8、也有可能是GBK,所以这就导致编码不一致,从而造成中文乱码问题。

那么针对这种乱码问题???我们要如何解决呢???解决的办法很简单:那就是主动告诉Servlet容器采用哪种编码方式,并且告诉浏览器客户端采用哪种方式来解码就可以啦。

1.2、解决中文乱码办法

解决方案:调用response响应对象的【setContentType()】方法、或者调用【setCharacterEncoding()】方法来指定编码即可

// 方式一(推荐)
// 告诉Servlet容器采用UTF-8字符集进行编码
// 并且告诉浏览器,采用UTF-8字符集进行解码
response.setContentType("text/html;charset=UTF-8");

// 方式二
// 解决响应乱码问题
// 并且告诉浏览器,采用UTF-8字符集进行解码
response.setCharacterEncoding("UTF-8");

通过以上两种方式,就可以解决返回数据的乱码问题啦。

今天就到这里,未完待续~~

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言