zoukankan      html  css  js  c++  java
  • Java 中文 乱码问题

    Java平台遇到的两类问题:

    1.源代码中文乱码问题:

      a.Java文件,中文乱码,配置IDE的Preference的编码格式,总有一款适合你。

      b.HTML(JSP、....)文件,中文乱码,添加并设置HTML的contentType、charset即可。<%@ page contentType="text/html;charset=GBK"%>

    2.应用程序中输入中文乱码问题:

      a.selvert的过滤器filter处理中文乱码问题:

        修改web.xml中的配置参数:

                <filter>      <!--注意这里是filter,不要配置成servlet-->
                    <filter-name>CharactorFilter</filter-name>    <!--过滤器名称-->
                    <filter-class>cn.com.Filter.CharactorFilter</filter-class>  <!--过滤器的完整类名-->
                    <init-param>   <!--初始化参数-->
                        <param-name>encoding</param-name>  <!--参数名称-->
                        <param-value>utf-8</param-value>   <!--参数值-->
                    </init-param>
                </filter>
                <filter-mapping> <!--过滤器映射-->
                    <filter-name>CharactorFilter</filter-name><!--过滤器名称-->  
                    <url-pattern>/*</url-pattern><!--URL映射,给所有页面处理乱码-->
                </filter-mapping>

      b.Tomcat支持中文的配置问题: 更改 Tomcat安装目录下confserver.xml,指定浏览器的编码格式为“简体中文”:

                <Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
                enableLookups="false" redirectPort="8443" acceptCount="100"
                connectionTimeout="20000" disableUploadTimeout="true" URIEncoding='GBK' />

    注意:Spring MVC Controller中解析GET方式的中文参数会乱码的问题:Spring的Filter只对HTTP的Post方法做了过滤处理 ,对Get方法则未做处理,因此无论如何配置Filter均是无效的,因此只能上溯一层,即从WEB应用容器层到Tomcat层配置Server.xml的Connector的URIEconding=“UTF-8"属性即可。

  • 相关阅读:
    三角形的最大周长
    Java 虚拟机运行时数据区详解
    四数相加 II
    Java 注解详解
    四因数
    【论文笔记+复现踩坑】End-to-end Recovery of Human Shape and Pose(CVPR 2018)
    假如 Web 当初不支持动态化
    保姆级干货分享
    C# ±180的值转成0-360
    C# 校验算法小结
  • 原文地址:https://www.cnblogs.com/rgqancy/p/5025448.html
Copyright © 2011-2022 走看看