• 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"属性即可。

  • 相关阅读:
    SpringCloud项目中使用Nacos作为配置中心
    SpringCloud项目中使用Nacos作为注册中心
    idea创建maven多模块Spring Boot项目
    Java代码中对IP进行白名单验证
    idea配置jdk
    win10配置jdk1.8环境变量
    shell 提示符样式设置
    整数转换成中文读法的字符串
    比较三段式软件版本号大小
    Windows7安装 nginx+php 后访问.php文件出现 “No input file specified.” 的解决办法
  • 原文地址:https://www.cnblogs.com/rgqancy/p/5025448.html
Copyright © 2020-2023  润新知