`
wesker0918
  • 浏览: 42570 次
  • 性别: Icon_minigender_1
  • 来自: 山东->北京
社区版块
存档分类
最新评论

转换编码方式

阅读更多

普通方式:

String str = "abc";
str = new String(str.getBytes(“ISO-8859-1”),”GB2312”); 

--------------------

Struts 1方式:

package cn.wangy.system;

public class MyProRequestProcessor extends RequestProcessor{

	protected boolean processPreprocess(HttpServletRequest request,HttpServletResponse response){
		try{
			request.setCharacterEncoding("UTF-8");
		}catch(Exception e){
        	e.printStackTrace();
 		}
       	return true;
	}
}

在struts-config.xml追加:

<controller processorClass="cn.wangy.system.MyProRequestProcessor"/>

 --------------------

Filter方式:

package cn.wangy.system;

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;

/**
 * 转换编码
 * @author Ferryman
 *
 */
public class CharacterEncodingFilter implements Filter{

	protected String encoding = null;
	protected FilterConfig filterConfig = null;
	protected boolean ignore = true;
    
	public voiddestroy(){
		this.encoding = null;
		this.filterConfig = null;
	}

	public voiddoFilter(ServletRequest request,ServletResponseresponse,FilterChain chain) throwsIOException,ServletException{
		if(ignore || (request.getCharacterEncoding() == null)){
			Stringencoding = selectEncoding(request);
			if(encoding != null)
				request.setCharacterEncoding(encoding);
		}
		chain.doFilter(request,response);
	}

	public voidinit(FilterConfig filterConfig) throws ServletException{
		this.filterConfig = filterConfig;
		this.encoding = filterConfig.getInitParameter("encoding");
		String value= filterConfig.getInitParameter("ignore");
		if(value==null)
			this.ignore= true;
		else if(value.equalsIgnoreCase("true"))
			this.ignore= true;
		else if(value.equalsIgnoreCase("yes"))
			this.ignore= true;
		else
		this.ignore= false;
	}

	protected String selectEncoding(ServletRequest request){
		return(this.encoding);
	}
}

在web.xml中追加:

<filter>
	<filter-name>Set Character Encoding</filter-name>
	<filter-class>
		cn.wangy.system.CharacterEncodingFilter
	</filter-class>
	<init-param>
		<param-name>encoding</param-name>
		<param-value>UTF-8</param-value>
	</init-param>
</filter>

<filter-mapping>
	<filter-name>Set Character Encoding</filter-name>
	<url-pattern>/*</url-pattern>
</filter-mapping>

 

 

 

分享到:
评论

相关推荐

    C语言字符编码转换UNICODE、GBK、UTF-8互相转换

    它使用数字来表示每个字符,并有多种编码方式,如UTF-8、UTF-16和UTF-32。其中,UTF-8是最常用的,因为它对ASCII字符保持兼容,并且在大多数网络传输中占据更少的空间。 GBK是中国大陆广泛使用的汉字编码标准,它是...

    堪称完美的文件编码转换工具(含源码)

    2.选择需要转换编码方式的文件或文件夹。 3.单击转换按钮。 默认要转换的文件格式为: .txt .h .cpp .c .java .cs .asp .aspx .js .master .css .htm .html .inc .sitemap .skin .bat .vbs .lrc 如果你想自定义要...

    文本文件的编码方式转换

    ### 文本文件的编码方式转换 #### 概述 在计算机科学中,文件编码转换是一项常见但非常重要的任务。特别是对于文本文件来说,不同的系统、软件或应用可能会使用不同的字符编码标准来存储文本数据。因此,为了确保...

    转换编码.rar

    不同的编码方式决定了字符集的范围和兼容性,例如我们常遇到的UTF-8和GB2312。本文将深入讲解编码转换的重要性和具体操作,以及如何使用提供的“编码转换工具.exe”进行文件编码的互换。 首先,了解编码的基础知识...

    超级批量编码转换 1.0

    在日常工作中,我们常常会遇到不同编码格式的文本文件,如ASCII、UTF-8、GBK等,这些不同的编码方式可能会导致在不同系统或软件中打开时出现乱码。《超级批量编码转换 1.0》的出现,就是为了解决这一难题。 首先,...

    编码转换小工具,包含多种编码的相互转换[html编码转换 unicode编码转换 url编码转换 编码转换],基于framework 3.5的winform程序

    在了解这款工具之前,我们先来详细探讨一下这些编码方式。 1. **HTML编码**:HTML编码主要用于在网页中显示特殊字符,如非ASCII字符。HTML编码使用`&`符号开始,后面跟着字符的数字或名称,例如`&amp;`代表'&',`&...

    常用编码方式及其格式转换

    ### 常用编码方式及其格式转换 #### 引言 在信息技术日新月异的今天,信息的跨平台交流已成为常态。然而,不同信息平台采用的字符编码方式各异,导致了信息在传输过程中可能出现的乱码或无法读取的问题。这是因为...

    Qt文件编码批量转换

    Qt5.9开发的文件编码转换。该工具我用来在Windows7下面VS2015编译器与MinGW编译器编码转换。MinGW编译器使用UTF-8编码,VS2015使用GB2312编码。 预编译头文件缺失,将头文件替换为 #include #include #include #...

    易语言字符编码转换

    字符编码是用来表示文本的数字表示方式,例如ASCII、GB2312、GBK、UTF-8等。每种编码都有其特定的应用场景和特性。ASCII是最基础的编码,只包含英文字符;GB2312和GBK是中国常用的简体中文编码,GBK在GB2312基础上...

    CTF Converter 编码转换

    理解并熟练掌握这些编码方式的转换对于成功解题至关重要。 1. ASCII编码:ASCII是最基础的字符编码,使用7位二进制表示128个不同的字符。 2. Unicode:为了解决ASCII的局限性,Unicode应运而生,它包含了世界上几乎...

    文字编码转换工具

    不同的编码方式决定了计算机如何存储、显示和传输文本信息。本文将深入探讨“文字编码转换工具”的重要性、原理以及它支持的各种编码格式,如Native、Unicode(包括UTF-8)等。 首先,让我们了解什么是文字编码。在...

    文件编码转换器

    文件编码在信息技术领域中扮演着至关重要的角色,不同的编码方式决定了数据如何被计算机理解和显示。本文将深入探讨“文件编码转换器”的相关知识点,以及它如何处理不同编码格式的文件。 1. **文件编码**: 文件...

    批量编码格式转换器

    在信息技术领域,编码格式是至关重要的,因为不同的编码方式决定了文本在计算机中的存储和显示方式。 编码格式转换器主要应用于以下几种情况: 1. **多语言支持**:不同的编码格式支持的字符集不同,如ASCII主要...

    万能编码转换器 converter v0.4中文

    Converter是通用的编码互相转换的工具,适应于所有的编码格式。 转码格式: 1、字符转16进制 、16进制转字符、base64编码、base64解码、域名转 IP、数字转人民币。 2、MD5_16 、 MD5_ 32 、vbUnicode、vbFormUnicode...

    java 文件编码转换

    Chardet(字符集检测)通常是基于统计模型来判断文件最有可能采用的编码方式。例如,它可以分析字节序列并根据不同的字符集概率进行匹配。这种技术在处理非UTF-8编码的文件时非常关键,因为如果没有正确识别源编码,...

    文件编码转换工具

    文件编码是计算机处理文本的一种方式,它决定了字符与二进制数据之间的映射关系。...在实际工作中,无论是开发人员还是普通用户,都应该对文件编码有基本的认识,以便在需要时能够正确处理和转换编码。

    超级批量编码转换工具

    文件编码是计算机存储和显示文本的一种方式,它决定了字符在二进制数据中的表示。常见的文件编码有ASCII、GBK、UTF-8等。ASCII编码最初用于英文字符,只支持128个字符;GBK编码是在GBK基础上扩展的,支持更多的汉字...

    java批量转换文件编码

    不同的编码方式决定了字符集的范围和字符的二进制表示。GBK是中国大陆广泛使用的编码,包含了大部分中文字符;而UTF-8是一种国际通用的编码,能够表示世界上几乎所有的字符。 在Java中,进行文件编码转换主要涉及`...

    编码转换工具集

    2. UTF-8编码:UTF-8(Unicode Transformation Format - 8 bit)是一种变长的Unicode编码方式,它可以表示Unicode字符集中所有的字符。对于ASCII字符,UTF-8编码与ASCII编码是相同的,但对非ASCII字符,UTF-8使用1到...

Global site tag (gtag.js) - Google Analytics