http://blog.csdn.net/wo6925371/article/details/5996079
http://blog.csdn.net/oakscut/article/details/3080803
1.自定义处理字符集类,实现Filter接口:CharFilter.java
package com.util;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
public class CharFilter implements Filter
{
private String targetEncoding;
/**
*
* {还原到原始编码格式}
*
* @author:LJ
*/
public void destroy()
{
targetEncoding = null;
}
/**
*
* {对请求和响应字符集过滤}
*
* @param srequest
* @param sresponse
* @param chain
* @throws IOException
* @throws ServletException
* @author:LJ
*/
public void doFilter(ServletRequest srequest, ServletResponse sresponse, FilterChain chain) throws IOException,
ServletException
{
HttpServletRequest request = (HttpServletRequest) srequest;
request.setCharacterEncoding(targetEncoding);
sresponse.setContentType("text/html;charset=GBK");
chain.doFilter(srequest, sresponse); ///派发请求
}
/**
*
* {初始化字符集编码格式}
*
* @param config
* @throws ServletException
* @author:LJ
*/
public void init(FilterConfig config) throws ServletException
{
targetEncoding = config.getInitParameter("encoding");
}
}
2.web.xml配置:
<filter>
<filter-name>filter</filter-name>
<filter-class>com.util.CharFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>GBK</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
分享到:
相关推荐
Java程序在处理中文字符时可能会遇到乱码问题,这主要源于计算机历史上的编码标准差异和Java自身的编码机制。本文将详细分析这个问题的来源、Java编码转换的过程以及解决策略。 1. 中文问题的来源 早期的计算机...
Java编程语言在处理中文字符时经常会遇到乱码问题,这些乱码问题的来源和解决方法是本文探讨的核心内容。乱码问题主要源自计算机操作系统的字符编码方式以及Java内部使用的UNICODE编码之间的转换过程。在深入解析这...
Java编程语言在处理中文字符时可能会遇到乱码问题,这是由于计算机系统和Java自身编码机制之间的差异导致的。本文深入探讨了Java编译器对Java源文件和JVM对class文件的编码/解码过程,以及Java编程中中文问题的根本...
### Java字符集编码乱码详解 #### 一、编码与乱码基础知识 在计算机科学领域,字符集(Character Set)是指一系列符号和电子通信代码的标准集合。每种字符集都有其特定的应用场景和优势。例如,ASCII(American ...
这是因为在编译 Servlet 类或者 JSP 文件时,如果没有使用 -encoding 参数指定 Java 源程序的编码格式,javac 会获取本地操作系统默认采用的字符集,以该字符集将 Java 源程序转换为 Unicode 编码保存到内存中,然后...
总之,解决Java中的URL中文乱码问题需要理解URL编码的原理,并在客户端和服务器端采取相应的措施,确保编码和解码的一致性。无论是通过JavaScript编码、Java服务器端解码,还是调整服务器配置,关键在于确保字符集的...
综上所述,解决Java中文乱码问题的关键在于确保整个程序的编码一致性,包括源代码、编译器、运行环境、文件读写、网络传输以及数据库操作等环节。通过细心配置和适当地指定编码,我们可以有效地避免乱码问题,确保...
本文将深入探讨几种解决Java中中文乱码问题的方法,并以MyEclipse为开发环境,结合实际示例进行讲解。 1. 文件读写中的乱码: 当Java程序读取或写入包含中文字符的文件时,需要设置正确的字符编码。例如,使用`...
解决Java中文乱码问题的关键在于理解和控制每个阶段的字符编码转换。以下是一些最佳实践: 1. **源文件编码**:明确指定IDE或文本编辑器保存源文件时使用的编码,如在Eclipse中设置项目编码为GBK或UTF-8。 2. **...
Java中的中文乱码问题主要源于字符编码的不匹配,这是由Java编程语言本身的特性以及不同操作系统和环境的差异所导致的。Java程序设计时,默认使用Unicode编码,这是一种双字节编码,可以支持世界上多种语言,包括...
Java中文乱码问题是编程者在开发Java应用程序时经常遇到的问题,尤其是涉及到中文字符处理时。这些问题产生的根本原因在于...通过上述方法,可以最大限度地减少和解决Java中文乱码问题,提高Java程序的兼容性和稳定性。
1. **字符集不一致**:如果Java程序、JDBC驱动、MySQL服务器以及数据库表的字符集设置不一致,就会导致中文乱码。例如,如果Java程序使用的是GBK编码,而MySQL服务器使用的是UTF-8编码,则会导致乱码。 2. **连接...
在Java中,乱码问题是常见的问题之一,本文将讨论字符集和乱码解决方案,帮助开发者解决乱码问题。 字符集简介 字符集是计算机中用于表示文本的编码方式,它定义了如何将文本转换为二进制代码。常见的字符集有ISO...
### JDBC 连接 Oracle 字符集不同导致乱码问题解析及解决方案 #### 问题背景 在使用 JDBC(Java Database Connectivity)连接 Oracle 数据库时,可能会遇到一个常见的问题:从远程 Oracle 数据库获取的数据出现乱码...
在JAVA开发中,正确处理字符集编码至关重要,以避免乱码和数据不一致的问题。 一、ISO8859-1与ASCII ISO8859-1是一种单字节编码标准,通常用于西欧语言,其编码范围为0-255。在ISO8859-1中,ASCII字符集是其子集,...
4. **输入输出流的编码设置**:Java程序在进行文件读写或网络通信时,需要显式地指定字符集编码,以避免乱码问题的发生。 5. **浏览器与服务器间的编码一致性**:对于Web应用程序而言,客户端与服务器之间必须保持...
本文将深入探讨GBK与Unicode这两种字符集之间的转换问题,特别是在转换过程中出现乱码的原因及解决方法。 #### GBK与Unicode简介 - **GBK**(GB2312-80的扩展):这是一种简体中文字符集标准,由中华人民共和国...