`

utf-8 中文乱码解决方案

阅读更多
1.java类: CharacterEncodingFilter

import javax.servlet.*;
import java.io.IOException;

public class CharacterEncodingFilter implements Filter {

    private String encoding = "UTF-8";
    private boolean forceEncoding = true;

    /**
     * Set the encoding to use for requests. This encoding will be
     * passed into a ServletRequest.setCharacterEncoding call.
     * <p>Whether this encoding will override existing request
     * encodings depends on the "forceEncoding" flag.
     */
    public void setEncoding(String encoding) {
        this.encoding = encoding;
    }

    /**
     * Set whether the encoding of this filter should override existing
     * request encodings. Default is "false", i.e. do not modify encoding
     * if ServletRequest.getCharacterEncoding returns a non-null value.
     */
    public void setForceEncoding(boolean forceEncoding) {
        this.forceEncoding = forceEncoding;
    }

    public void init(FilterConfig filterConfig) throws ServletException {
        this.encoding = filterConfig.getInitParameter("encoding");
        String force = filterConfig.getInitParameter("forceEncoding");
        this.forceEncoding = (force == null) || Boolean.valueOf(force).booleanValue() ;
    }

    public void doFilter(ServletRequest servletRequest,
                         ServletResponse servletResponse,
                         FilterChain filterChain) throws IOException, ServletException {
        if (this.forceEncoding || servletRequest.getCharacterEncoding() == null) {
            servletRequest.setCharacterEncoding(this.encoding);
        }
        filterChain.doFilter(servletRequest, servletResponse);
    }

    public void destroy() {

    }

}


2.在web.xml配置文件里加Filters Configurations

<!-- Filters Configurations 	-->
	<filter>
		<filter-name>CHARACTER_ENCODING</filter-name>
		<filter-class>
			common.encoding.CharacterEncodingFilter</filter-class>
		<init-param>
			<param-name>encoding</param-name>
			<param-value>UTF-8</param-value>
		</init-param>
		<init-param>
			<param-name>forceEncoding</param-name>
			<param-value>true</param-value>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>CHARACTER_ENCODING</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>



3.数据库建立为UTF-8格式
4.项目右键属性为UTF-8格式
5.所有页面申明为UTF-8
6.JDBC URL设为:UTF-8
jdbc:mysql://localhost:3306/databaseuse?useUnicode=true&characterEncoding=utf-8
7.数据库Driver选择UTF-8格式
8.Tomcat编码改成UTF-8

在server.xml里面增加URIEncoding="UTF-8"
<Connector port="8080" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8" />




在URL中传递参数,是通过HTTP报头来传递的.并不是类似于通过表单来传递,表单中传递的参数是在HTTP中的BODY中传送的.而设置字符过滤器只能起到过滤HTTP中BODY中的参数.而TOMCAT默认是ISO8859-1的编码方式,所以你在URL中传递过去后就是乱码了.而且过滤器也不管用了. 解决方法.直接改变TOMCAT的默认字符编码方式: tomcat做web服务器时,通过地址栏传中文参数时,为防止浏览器上的为乱码 需在服务器server.xml中配置对应的端口中配置编码方式即可.例如:    
<Connector port="8080"    maxThreads="150" minSpareThreads="25" maxSpareThreads="75"    enableLookups="false" redirectPort="8443" acceptCount="100"    debug="0" connectionTimeout="20000"   disableUploadTimeout="true"  useBodyEncodingForURI="true" URIEncoding="UTF-8"/> 


中加入useBodyEncodingForURI="true" URIEncoding="UTF-8"就可以了.


1
0
分享到:
评论

相关推荐

    source insight 3.5 UTF-8中文乱码插件_sourceinsight3.5_utf-8_插件补丁_中文乱码_

    总的来说,"source insight 3.5 UTF-8中文乱码插件"是解决Source Insight 3.5与UTF-8编码不兼容问题的有效工具,通过正确安装和应用此插件,开发者可以更顺畅地在Source Insight环境中阅读和编辑包含中文字符的代码...

    source insight UTF-8插件

    总之,"source insight UTF-8插件"是一个针对性的解决方案,旨在增强Source Insight对UTF-8编码的支持,特别是在处理中文内容时。通过正确安装和使用这个插件,用户可以享受到更顺畅的代码阅读和编辑体验,消除语言...

    source_insight_UTF8汉字乱码解决方案

    《source_insight_UTF8汉字乱码解决方案》 在IT行业中,源代码编辑器Source Insight是一款深受程序员喜爱的工具,尤其对于C/C++等语言的开发人员来说,它强大的语法高亮、代码跳转和分析功能使得代码阅读和理解更为...

    drools4.0.7 utf-8中文乱码.doc

    drools 4.0.7 中文乱码解决方案 Drools 是一个基于 Java 的规则引擎,用于业务规则管理和决策管理。然而,在使用 Drools 4.0.7 版本时,可能会遇到中文乱码的问题。该问题是由于 Drools 的源代码中没有正确地处理 ...

    java jsp解决utf-8乱码.zip

    通过以上方法,我们可以有效地解决Java JSP项目中的UTF-8乱码问题。在实际开发中,一定要养成良好的编码习惯,避免因为编码问题带来的不必要的麻烦。同时,定期复习和总结有关编码的知识点,对于提升开发效率和代码...

    PB9转换utf-8例子

    标题中的“PB9转换utf-8例子”指的是在PowerBuilder 9(PB9)环境下将数据从非UTF-8编码转换为UTF-8编码的一种解决方案。由于PB9本身不直接支持这种转换,开发者通常需要利用外部库或者特定的编程技巧来实现这个功能...

    eWebeditor吕海鹏版(解决utf-8下中文乱码)

    在不兼容UTF-8的环境中,如果直接输入或显示UTF-8编码的中文字符,就可能导致乱码。吕海鹏版的编辑器通过内核优化,能够更好地识别和处理UTF-8编码,确保在UTF-8环境下输入和显示的中文字符正确无误。 这个版本的...

    gvim解决utf-8文件中文乱码

    本文将深入探讨gvim中解决UTF-8文件中文乱码的方法,旨在为开发者提供一个清晰的解决方案。 ### 一、理解UTF-8编码与中文乱码现象 UTF-8是一种可变长度的字符编码标准,用于处理全球各种语言的字符集,包括中文。...

    Source Insight 3支持Utf-8

    UTF-8是一种广泛使用的Unicode字符编码方案,它可以表示Unicode字符集中的所有字符,覆盖了全球大部分语言的文字。在编程环境中,UTF-8编码因其可读性强、跨平台兼容性好等特点,已经成为许多项目的标准编码方式。 ...

    解决source insight3.5不支持中文utf8问题

    然而,对于中文支持的问题,Source Insight 3.5版本曾经存在一些困扰用户的局限性,尤其是当处理UTF-8编码的源代码时可能会出现乱码现象。本文将详细探讨这个问题及其解决方案。 首先,我们需要了解UTF-8编码。UTF-...

    中文-UTF-8编码转换器

    总的来说,这个工具解决了跨编码环境的数据迁移问题,使得在UTF-8环境中也能正确显示原本可能会乱码的中文内容。对于开发者、网页设计师以及需要处理多语言文本的用户来说,这样的工具能有效避免因编码不兼容导致的...

    java文件编码GBK转utf8完美解决方案

    idea、Eclipse等项目导入.java文件中文乱码完美解决方案:文件夹下所有GBK编码的.java一键转为utf-8,操作方式:将GBK2UTF8.jar文件考到需要转码项目目录,在当前位置运行控制台,输入命令java -jar GBK2UTF8.jar,...

    Eclipse项目的GBK编码转为UTF-8插件

    针对这种情况,"Eclipse项目的GBK编码转为UTF-8插件"提供了一个便捷的解决方案。这个插件可以快速地将整个Eclipse项目中的GBK编码文件批量转换为UTF-8编码,无需手动操作。使用该插件,用户只需在Eclipse中安装并...

    百度编辑器asp版UTF-8编码

    综上所述,百度编辑器ASP版UTF-8编码是针对ASP开发环境的富文本编辑解决方案,具有良好的多语言支持和广泛的适用性。在实际应用中,开发者需要关注编码一致性、服务器端集成以及可能出现的兼容性问题,以确保编辑器...

    utf-8 中文字符表

    "UTF-8中文字符表"这个文件很可能包含了UTF-8编码的所有中文字符,从基本汉字到繁体字,甚至包括一些罕见的古汉字和符号。开发者可以参考这个表格来检查特定的中文字符在UTF-8编码下的表示,这对于调试和处理中文...

    HTML5 UTF-8 中文乱码的解决方法

    ### 解决方案1:确保文件以UTF-8编码保存 在使用记事本或其他文本编辑器时,你需要确保在保存文件时选择UTF-8无BOM编码。在记事本中,可以通过“文件” -&gt; “另存为”菜单,然后在“编码”下拉框中选择“UTF-8”来...

    SmartUpload文件上传UTF-8源码版,无乱码

    这个UTF-8源码版本的SmartUpload提供了一个解决方案,使得开发者无需花费过多精力去解决乱码问题,可以更专注于应用的其他核心功能开发。在实际项目中,确保文件上传的稳定性和兼容性是提高用户体验的关键,而这个...

    最好的汉字转换拼音utf-8 php版 权威

    标题中的"最好的汉字转换拼音utf-8 php版 权威"指的是一个专为PHP设计的库或工具,用于将汉字转换成对应的拼音,同时支持UTF-8编码,这是国际化的标准编码格式,可以处理多种语言,包括中文。这个工具对于那些需要...

    豆葵GB-BIG5-UTF-8 文件编码批量转换工具

    总的来说,"豆葵GB-BIG5-UTF-8 文件编码批量转换工具"是一个实用的解决方案,解决了在处理中文字符时经常遇到的编码问题。通过理解不同编码格式的特性,以及掌握使用这个工具的方法,用户可以在处理中文文件时更加...

    ewebeditor在线编辑器官方2.8修改utf-8

    UTF-8是一种多字节字符编码,能支持全球大部分语言,包括中文,因此它对于开发多语言网站至关重要。 **1. eWebEditor简介** eWebEditor是一款基于JavaScript的富文本编辑器,允许用户在网页上进行类似Word的文本...

Global site tag (gtag.js) - Google Analytics