`

转换字符编码filter,乱码

阅读更多

package com.yuan;

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;

public class SetCharacterEncodingFilter implements Filter {
 
 protected FilterConfig filterConfig;
 protected String encodingName;
 protected boolean enable;
 
 public SetCharacterEncodingFilter(){
  this.encodingName = "gb2312";
  this.enable = false;
 }
 
 public void init(FilterConfig filterConfig) throws ServletException {
  this.filterConfig = filterConfig;
  loadConfigParams();
 }
 
 private void loadConfigParams(){
  this.encodingName = this.filterConfig.getInitParameter("encoding");
  String strIgnoreFlag = this.filterConfig.getInitParameter("enable");
  
  if(strIgnoreFlag.equals("true")){
   this.enable = true;
  }else{
   this.enable = false;
  }
 }

 public void doFilter(ServletRequest request, ServletResponse response,
   FilterChain chain) throws IOException, ServletException {
  if(this.enable){
   request.setCharacterEncoding(this.encodingName);
  }
  chain.doFilter(request, response);
 }
 
 public void destroy() {
  // TODO Auto-generated method stub
 }
 
}

 

 

web.xml配置:

<filter>
 <filter-name>SetCharacterEncodingFilter</filter-name>
 <filter-class>com.yuan.SetCharacterEncodingFilter</filter-class>
 <init-param>
  <param-name>enable</param-name>
  <param-value>true</param-value>
 </init-param>
 
 <init-param>
  <param-name>encoding</param-name>
  <param-value>gb2312</param-value>
 </init-param>
</filter>

<filter-mapping>
 <filter-name>SetCharacterEncodingFilter</filter-name>
 <url-pattern>/*</url-pattern>
</filter-mapping>

 

 

分享到:
评论

相关推荐

    字符编码过滤器 字符编码转换 post字符转换

    本文将深入探讨"字符编码过滤器"、"J2EE字符编码"、"字符编码转换"以及"POST字符转换"这些关键知识点,并结合提供的文件"encoding-filter.jar"和"使用方法.txt"来解释它们的应用。 首先,字符编码是计算机存储和...

    解决字符编码的过滤器

    字符编码是将计算机内部二进制数据转换为人类可读的文字的过程。常见的字符编码方式包括ASCII、GBK、UTF-8等。其中,UTF-8由于其良好的兼容性和国际化的支持,在现代Web开发中被广泛采用。 #### 二、字符编码问题...

    字符编码

    源码可能是指Java过滤器(Filter)的实现,这种设计模式常用于处理HTTP请求或响应,其中就包括了字符编码的转换。工具可能指的是用来检测、转换或处理编码的软件,如Notepad++等文本编辑器,它们支持多种字符编码并...

    解决JSP字符串乱码的过滤器

    总的来说,解决JSP字符串乱码的过滤器是通过Java Servlet Filter机制,在请求到达Servlet之前和响应离开Servlet之后,对字符编码进行统一管理,从而保证数据传输的正确性。通过配置和编写Filter,我们可以确保整个...

    jquery字符编码转换[文].pdf

    在软件开发过程中,字符编码问题是一个常见的挑战,尤其是在涉及到多语言和跨平台交互时。`jQuery`是一个广泛使用的JavaScript库,它在与服务器进行异步通信(Ajax)时,可能会遇到编码不匹配的问题,特别是在GBK...

    检验用户名、密码、字符编码、页面缓存----Filter的基本使用

    我们可以在Filter中设置HttpServletRequest的字符编码,这样在读取请求参数时,会自动使用指定的编码进行转换。 三、页面缓存控制 页面缓存可以提高Web应用的性能,减少服务器负载。通过Filter,我们可以控制哪些...

    java字符编码错误整理大全

    在Java开发过程中,字符编码问题是非常常见且容易引发一系列乱码问题的重要因素。本篇将详细梳理Java中的字符编码相关知识点,帮助开发者解决实际工作中遇到的各种乱码问题。 #### 二、基础知识 1. **编码与解码**...

    基于tomcat8 编写字符编码Filter过滤器无效问题的解决方法

    基于tomcat8 编写字符编码Filter过滤器无效问题的解决方法 在基于tomcat8 的Web应用程序中,字符编码问题是常见的问题之一。特别是在处理POST请求时,中文字符可能会出现乱码的情况。为了解决这个问题,我们可以...

    免费_java中文乱码字符集解决大全

    乱码问题主要源自计算机操作系统的字符编码方式以及Java内部使用的UNICODE编码之间的转换过程。在深入解析这一过程后,我们可以透视Java中文问题产生的根本原因,并给出最优化的解决方案。 首先,计算机最初的操作...

    J2EE -- 字符编码问题

    字符编码是将字符转换为二进制数的一种规则,它确保计算机系统能够正确识别和存储各种字符。常用的字符编码有ASCII、GBK、GB2312、ISO-8859-1、UTF-8等。其中UTF-8是一种可变长度的编码方式,可以支持世界上绝大多数...

    关于处理中文乱码问题 Filter 代码

    通过实现javax.servlet.Filter接口并配置在web.xml中,我们可以定义过滤逻辑,例如字符编码转换,权限检查等。 中文乱码问题通常发生在数据的编码和解码过程中。当客户端(如浏览器)和服务器之间传递含有中文字符...

    乱码解决,简单小结

    1. **方法一:转换字符编码** - **原理**:将一种编码方式转换为另一种编码方式。 - **示例代码**: ```java String str = "中文测试"; // 将字符串从ISO-8859-1编码转换为UTF-8编码 byte[] b = str.getBytes...

    MySpringMVC-字符乱码处理.rar

    例如,当用户通过表单提交非ASCII字符时,如果服务器端的字符编码设置不正确,就可能导致乱码。 1. **HTTP请求参数编码**: Spring MVC默认使用ISO-8859-1作为HTTP请求参数的编码,这可能无法正确处理中文等非...

    json 中文乱码解决方案

    在处理JSON数据时,经常会出现中文乱码的问题,尤其是在不同编码格式间进行转换时更为常见。本文将详细介绍如何解决JSON中的中文乱码问题,并提供几种简单实用的方法来帮助开发者避免这类问题的发生。 #### 一、...

    JSP乱码问题

    JSP乱码问题是指在JSP页面中遇到的字符编码问题,导致页面显示乱码的现象。下面是解决JSP乱码问题的一些常见方法: 首先,在JSP页面中,我们可以使用String的getBytes()方法将字符串转换为指定编码的字节数组,然后...

    程序中关于乱码的处理

    【乱码处理】在中国,程序员经常需要面对的一个挑战就是乱码问题,这主要源于中英文字符编码的不同。编码机制是导致乱码的核心原因,中文字符通常使用GBK或GB2312等编码,而英文字符则普遍采用ASCII或Unicode。如果...

    Util包分页标签、各种时间的操作方法、设置字符编码、数据类型转换、用户权限过滤

    字符编码问题常常会导致乱码,因此在读写文件或网络通信时,正确设置字符编码至关重要。Java中,`InputStreamReader`和`OutputStreamWriter`类用于将字节流与字符流之间进行转换,并指定字符编码。另外,HTTP请求和...

    中文乱码问题的解决方案以及过滤器

    总的来说,处理中文乱码问题需要对字符编码有深入理解,明确每个环节的编码规则,并在必要时进行转换。结合过滤器技术,我们可以更有效地管理和预防乱码现象,确保数据的正确性和一致性。在实际开发中,应养成良好的...

    sshz中文乱码解决方法

    强制转换字符集 在Java程序中,可以采用直接对字符串进行编码转换的方式来解决乱码问题。例如,当接收到的数据是以`ISO-8859-1`编码格式传入时,而系统内部使用的是`GBK`编码,则可以通过以下方式进行编码转换: ...

    java项目jsp中乱码问题解决

    总的来说,解决Java项目中的中文乱码问题需要理解编码与解码的基本原理,合理地设置字符编码,并在必要时进行手动转换。在开发过程中,应尽量保持统一的编码标准,避免在不同环节出现不一致导致的乱码问题。此外,...

Global site tag (gtag.js) - Google Analytics