`
laowang
  • 浏览: 37800 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Servlet 输出中文乱码的新收获(2)

    博客分类:
  • Java
阅读更多

(续)

查看setCharacterEncoding API文档,进一步发现:

Calling setContentType(java.lang.String) with the String of text/html and calling this method with the String of UTF-8 is equivalent with calling setContentType with the String of text/html; charset=UTF-8.

原来只需要用response.setContentType("text/html; charset=utf-8"); 设定就ok,不需要两次调用。进一步

This method can be called repeatedly to change the character encoding. ......If the character encoding has already been set by setContentType(java.lang.String) or setLocale(java.util.Locale), this method overrides it.

可反复设置,相互覆盖,据此写出如下测试代码

java 代码

 

  1. //情况1:正常,浏览器按utf-8方式查看   
  2. response.setContentType("text/html; charset=gbk");   
  3. response.setCharacterEncoding("utf-8");   
  4. //情况2:正常,浏览器按简体中文方式查看   
  5. //response.setContentType("text/html; charset=utf-8");   
  6. //response.setCharacterEncoding("gbk");   
  7.   
  8. PrintWriter pw = response.getWriter();   
  9. pw.print("中文");  

结论:

1.在servlet中输出中文,如果采用PrintWriter方式,需要在调用getPrintWriter()之前调用setContentType 或者 setCharacterEncoding;采用ServletOutputStream方式,不受此限。

2.setContentType 和 setCharacterEncoding两方法中设定characterEncoding的方法对服务器效果一致,不需要反复调用。在输出文本内容时,采用response.setContentType("text/html; charset=utf-8");似乎更为方便。

分享到:
评论

相关推荐

    servlet输出中文乱码问题

    ### servlet输出中文乱码问题详解 #### 一、问题背景 在进行Web开发时,特别是使用Java Servlet处理HTTP请求的过程中,经常会遇到输出中文字符时出现乱码的问题。这不仅会影响用户体验,还会对项目的正常运行造成...

    servlet输出JS乱码问题

    当Servlet需要输出JS代码,尤其是包含中文字符时,可能会遇到乱码问题。这主要是因为浏览器和服务器之间存在编码不一致的情况。在默认情况下,Servlet容器会使用ISO-8859-1编码来处理HTTP请求和响应,而这个编码并不...

    Servlet输出中文乱码的新收获

    Servlet 输出中文乱码的解决方法 在本文中,我们将讨论 Servlet 输出中文乱码的问题,并提供解决方法。首先,让我们了解一下问题的来源。在 Servlet 中,输出中文乱码的问题经常会出现,导致浏览器显示的中文字符...

    servlet与jsp中文乱码处理

    2. **Servlet中的中文乱码处理** - **请求乱码**:当用户通过表单提交包含中文的数据时,需要在`doGet`或`doPost`方法中设置请求编码。 ```java request.setCharacterEncoding("UTF-8"); ``` - **响应乱码**:...

    JSP_利用Filter解决Servlet输出中文乱码的问题.docx

    JSP_利用Filter解决Servlet输出中文乱码的问题主要涉及以下几个核心知识点: 1. **Filter接口**:`javax.servlet.Filter`是Java Servlet API中的一部分,它提供了一种在请求到达目标Servlet或JSP之前对其进行拦截并...

    Java Servlet输出中文乱码问题解决方案

    Java Servlet 输出中文乱码问题解决方案 Java Servlet 中文乱码问题是 Web 开发中常见的问题之一,解决这个问题需要了解浏览器和服务器的编码格式保持一致的重要性。在本文中,我们将通过示例代码来详细介绍 Java ...

    Servlet 中文乱码问题

    在Java的Servlet开发中,中文乱码问题是一个常见的困扰,主要涉及到请求(request)和响应(response)两个方面。本文将详细解析这两个方面的乱码问题及其解决方案。 首先,我们需要了解一些基础知识。GBK编码是一种...

    jsp传参 servlet接收中文乱码问题的解决方法.docx

    jsp 传参 servlet 接收中文乱码问题的解决方法 jsp 传参 servlet 接收中文乱码问题是一个经常遇到的问题,特别是在使用 Hibernate+Servlet 框架时。当我们在 jsp 页面传参到 servlet 时,中文字符经常会出现乱码...

    jsp+servlet+mysql乱码解决的这天

    jsp+servlet+mysql乱码解决方案是指在使用jsp+servlet+mysql开发web应用程序时,如何解决中文乱码问题的解决方案。该方案通过设置每个页面的编码格式为utf-8,控制器servlet中的请求编码格式为utf-8,数据库连接url...

    servlet中文乱码问题

    ### Servlet + Tomcat 中文乱码问题解析及解决方案 #### 一、中文乱码问题概述 在使用Servlet和Tomcat进行Web开发时,经常会遇到中文乱码的问题。这主要是因为客户端(如浏览器)与服务器之间使用的字符编码不一致...

    servlet乱码及解决

    这是servlet出现乱码,以及乱码出现时的解决办法。

    servlet中解决乱码

    2. **请求URL乱码**:对于GET请求,URL中的参数也会有乱码问题。由于URL是公开的,且ISO-8859-1是默认编码,所以需要在服务器端进行转换。可以使用`java.net.URLDecoder`类来解码URL参数: ```java String param ...

    解决servlet页面乱码问题

    本文将深入探讨如何解决Servlet页面显示乱码的问题,这对于初学者来说是至关重要的知识点。 首先,我们需要理解乱码的根源。在Web应用中,乱码通常出现在两个阶段:输入(如POST表单数据)和输出(如HTML页面的响应...

    Struts2和servlet的中文乱码问题

    在Web开发中,尤其是使用Struts2和Servlet框架时,中文乱码问题是一个常见的困扰。本文将详细解析如何解决这两个框架中的中文乱码问题。 首先,我们来看Struts2的情况。在处理中文乱码时,主要涉及到两种HTTP请求...

    Servlet 中文乱码解决工具类

    在Java Web程序开发中,由于Web容器内部使用编码格式并不支持中文字符集,所以,处理浏览器请求中的中文数据就会出现乱码的现象。由于Web容器使用了ISO-8859-1的编码格式,所以在Web应用的业务处理中也会使用ISO-...

    Jsp和Servlet中文乱码问题

    本文将深入探讨JSP和Servlet中文乱码问题的根源、解决方案以及预防策略。 ### JSP和Servlet中的中文乱码问题根源 中文乱码问题通常源于字符编码不一致或配置错误。在Web应用中,数据流经多个环节,包括客户端...

    servlet过滤器解决乱码问题

    ### Servlet过滤器解决乱码问题 在Web应用开发过程中,字符编码问题经常出现,尤其是在处理中文等多字节字符时。如果不正确地设置字符编码,可能会导致页面显示乱码。本文将详细介绍如何通过Servlet过滤器来解决这...

    Servlet中的中文乱码问题

    然而,处理中文字符时,Servlet经常会出现乱码问题,这通常是由于字符编码设置不正确导致的。本篇文章将深入探讨如何解决Servlet中的中文乱码问题,以及如何在GBK、UTF-8和ISO-8859-1之间做出合理的选择。 首先,...

    【servlet】彻底解决doGet、doPost以及控制台中文乱码问题

    输出到页面时中文会乱码 后端代码: PrintWriter out = response.getWriter(); out.println(你好,世界!); 前端显示: 1.2 原因 没有设置HttpServletResponse使用哪种编码,默认编码跟浏览器解码不匹配。 1.3 ...

    ajax到servlet乱码解决

    例如,我们使用 AJAX 通过 URL 传递中文参数 "中文测试" 给 Servlet,Servlet 在接收参数时却变成了乱码 "�������"。这使得我们的应用程序无法正确地处理中文参数。 解决方案 要解决这个问题,我们可以从两...

Global site tag (gtag.js) - Google Analytics