`

java,servlet中文乱码问题解决一——Ext与java结合

 
阅读更多

 

Ext 的使用过程中,一不留心就出现了乱码,包括在客户端提交给服务器的数据中出现了乱码和服务器端返回给客户端的数据中出现了乱码,下面简单分析一下出现乱码的原因。

 

  在一次页面浏览过程中,客户端对一个 URL 发起浏览请求,服务端针对这次请求进行解析,而在字符编码解析方面,首先他检查该页面中的字符编码设置,即 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ,这样,在页面中显示声明了字符编码为 UTF-8 ,服务器就会将该页面用 UTF-8 的编码输出,而如果页面中没有显示声明,在服务器中都有一个默认的字符编码,比如 GB2312 ,针对没有声明的文件,他会用默认编码输出,这个时候,如果页面输出又是 UTF-8 ,这样就会出现乱码。

 

  而在 Ext 中的提交数据的过程中, Ext 框架用的是都是 UTF-8 编码,而且通过 JSON 提交的数据也是 UTF-8 编码,所以要求所有的文件都是 UTF-8 编码。

 

解决乱码的方法

    以下几项首先必须要在平时的编码过程中做到:

 

(1)       JAVA 后台文件加入

response.setContentType("text/html");

       response.setCharacterEncoding("utf-8");

 

(2)       在文件中显示声明字符编码,

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

 

  ( 3 )对于提交中出现的乱码,在 Ext 中可以修改 Request Header Content-Type 的设置,具体的方法为: Ext.lib.Ajax.defaultPostHeader += ";charset=utf-8";

 

  最后,问题还可能出现在文件的保存格式上。就是你把代码文件保存的时候,如果开发环境默认保存的不是 UTF-8 格式,那么也会出现问题! 所以就要对开发环境也有一个要求。

 

开发环境的配置

 

    如果采用记事本来编写保存代码文件( .js ),那这个就会出问题,主要是由于在 windows 系统里记事本默认的编码格式是 ANSI ,这样基本上和目前网页中编码的格式都不同因此就会出现编码格式不正确的问题。解决办法就是打开 xx.js 文件然后另存为,在保存类型处选择 utf-8 编码格式就可以了。

 

当然 , 主流还是使用 MyEclipse ,所以说一下 MyEclipse8.5 及以上版本里要配置哪些地方。

         1.Preferences->General->Content Types 选中 Text 编辑下面的 Default encoding utf-8 然后 Update

         2.Preferences->General ->Editors->Text Editors->Spelling Encoding Default(UTF-8)

3.Preferences->General ->Workspace Text File Encoding Other: UTF-8

 

 

最后如果还出现乱码 , 利用

System.out.print(request.getCharacterEncoding());

System.out.print(response.getCharacterEncoding());

察看 request response 编码是否不是 utf-8

 

若不是 , 利用 web.xml 中的 filter 解决 .

  <filter>

  <description>no</description>

  <display-name>EncodingFilter</display-name>

  <filter-name>EncodingFilter</filter-name>

  <filter-class>

   com.hope.filters.SetCharacterEncodingFilter

  </filter-class>

  <init-param>

   <param-name>encoding</param-name>

   <param-value>utf-8</param-value>

  </init-param>

  </filter>

 

或者设置

<globalization responseEncoding="utf-8" fileEncoding="utf-8" requestEncoding="utf-8"/>

 

 

 

 

 

分享到:
评论

相关推荐

    Java关于中文乱码问题的多种解决方法

    本文将深入探讨几种解决Java中中文乱码问题的方法,并以MyEclipse为开发环境,结合实际示例进行讲解。 1. 文件读写中的乱码: 当Java程序读取或写入包含中文字符的文件时,需要设置正确的字符编码。例如,使用`...

    java中文乱码解决问题

    JAVA 中文乱码解决问题 JAVA 中文乱码问题是开发过程中常见的问题之一,解决这个问题需要了解乱码产生的原因,然后对症下药。下面我们对容易产生乱码问题的场景进行分析,并提出解决方案。 1. 以 POST 方法提交的...

    Servlet 中文乱码问题

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

    servlet中文乱码问题

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

    java乱码问题解决方法

    Java 乱码问题是 Java 开发中常见的问题之一,解决这个问题需要了解 Java 的编码方式、JSP 中文乱码问题、Tomcat 5.5 中文乱码问题、JDBC ODBC Bridge 的 Bug 及其解决方法、Solaris 下 Servlet 编程的中文问题及...

    解决servlet中文乱码问题1

    解决servlet中文乱码问题1 在servlet编程中,中文乱码问题是常见的困扰,但是通过正确的配置和编码设置,可以轻松地解决这个问题。 标题解释 解决servlet中文乱码问题1的标题指的是,如何在servlet应用程序中正确...

    Java_Servlet_API说明文档——中文

    - **绪论**:本文档为2.1版Java Servlet API的官方中文说明文档,旨在介绍该版本的主要特性和使用方法。文档不仅包含文字说明,还提供了指向Sun公司官方网站的链接以获取Javadoc格式的文档,方便开发者进一步学习。 ...

    java编程中乱码问题解决

    在Java编程中,乱码问题是开发者经常遇到的一个难题,尤其是在处理中文或者其他非英文字符时。本文将详细介绍如何解决Java编程中常见的乱码问题,并提供具体的实例帮助读者理解。 #### 一、乱码产生的原因 在深入...

    解决servlet页面乱码问题

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

    JavaJSP中文乱码问题解决心得.doc

    ### Java/JSP中文乱码问题解决心得 #### 一、Java中文问题的由来 Java作为一种广泛使用的编程语言,其核心设计目标之一就是提供良好的跨平台能力。为此,Java采用了Unicode作为其内部处理字符的标准,这使得Java...

    《Java Web开发教程——入门与提高篇(JSP+Servlet)》附赠电子资料——框架基础及实例

    当一个客户端向服务器发送请求时,服务器会根据请求类型选择合适的Servlet来处理请求,然后返回相应的响应。Servlets 可以处理各种类型的请求,包括但不限于HTTP GET和POST请求。 ### 2. Struts2 框架简介 Struts2...

    Jsp和Servlet中文乱码问题

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

    servlet乱码及解决

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

    Java Web开发(JSP、Servlet)乱码终极解决方案.txt

    在Java Web开发中,尤其是使用JSP和Servlet技术时,字符编码问题——即所谓的“乱码”问题,是开发者常遇到的挑战。本篇将详细解析如何在Java Web项目中彻底解决乱码问题,确保数据在各个环节都能正确地显示和处理。...

    java解决解决get中文乱码问题

    本文将详细介绍如何在Java中解决GET请求中文乱码问题,并提供一种有效的方法。 #### 一、理解GET请求中文乱码的原因 在HTTP协议中,GET请求参数通常被附加在URL后面,浏览器会自动对这些参数进行编码,这个过程...

    servlet输出JS乱码问题

    知识点:Servlet输出JS乱码问题解析与解决方案 一、Servlet与JS输出背景 Servlet是Java Web应用中的核心组件,主要用于处理客户端发送的HTTP请求,并生成响应。在Web开发中,Servlet经常被用来处理业务逻辑,然后...

    解决jsp+servlet开发中的中文乱码问题

    在基于JSP(Java Server Pages)和Servlet技术的Java Web应用开发过程中,中文乱码问题一直是困扰开发者的一大难题。由于Java Web应用程序涉及多个组件之间的交互,包括但不限于JSP页面、Servlet、浏览器以及数据库...

    Java 中文乱码问题

    在Java编程中,中文乱码问题是一个常见的困扰开发者的问题,特别是在处理输入输出或者网络通信时。这个问题涉及到字符编码的理解和正确使用。以下是对这个主题的详细解析: 首先,我们需要了解字符编码的基础知识。...

    解决Servlet中文乱码问题.docx

    总结来说,解决Servlet中文乱码问题主要涉及到对Request和Response的正确编码设置,以及确保浏览器能够识别并使用正确的编码解析数据。在实际开发中,将项目配置为统一使用UTF-8编码,通常可以避免大多数编码问题。...

    Servlet中文乱码问题解决方案解析

    Servlet中文乱码问题解决方案解析 Servlet中文乱码问题是指在使用Servlet开发Web应用程序时,出现的中文字符乱码问题的解决方案。这种问题的出现是由于浏览器和Servlet之间的编码不一致所致。在本文中,我们将详细...

Global site tag (gtag.js) - Google Analytics