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安装目录下conf\server.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"属性即可。

 

posted @   任国强  阅读(703)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示