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

时间: 2024-12-07 20:02:22

Java 中文 乱码问题的相关文章

关于c++与java中文乱码问题分析与解决

关于c++与java中文乱码问题分析与解决 DionysosLai([email protected])  2014/8/1 问题分析: 之所以会出现中文乱码问题,归根结底在于中文的编码与英文的编码方式存在差异. 在java内部是使用16bit的unicode编码(即utf-16)来表示字符串,无论英文还是中文都是2字节. C/C++使用的是原始数据,ascii是一个字节,中文一般是GB2312编码,用2个字节表示一个汉字. Jni内部是使用utf-8编码表示字符串的,utf-8是扁长的unic

文《关于c++与java中文乱码问题分析与解决》中一个bug分析

文<关于c++与java中文乱码问题分析与解决>中一个bug分析 DionysosLai([email protected]) 2014/10/21 在前几篇一博客<关于c++与java中文乱码问题分析与解决>,地址如下:http://blog.csdn.net/dionysos_lai/article/details/38389765.文中详细介绍了c++与java数据传递时,为何会出现中文乱码的原因,并提出了适当的解决方法.方法如下: int CCDirector::GBKTo

java中文乱码解决方法汇总

publicstaticvoidmain(String[]argv){ try{ System.out.println("中文");//1 System.out.println("中文".getBytes());//2 System.out.println("中文".getBytes("GB2312″));//3 System.out.println("中文".getBytes("ISO8859_1″));

java中文乱码解决之道(一)-----认识字符集

沉寂了许久(大概有三个多月了吧),LZ"按捺不住"开始写博了! java编码中的中文问题是一个老生常谈的问题了,每次遇到中文乱码LZ要么是按照以前的经验修改,要么则是baidu.com来解决问题.阅读许多关于中文乱码的解决办法的博文后,发现对于该问题我们都(更加包括我自己)没有一个清晰明了的认识,于是LZ想通过这系列博文(估计只有几篇)来彻底分析.解决java中文乱码问题,如有错误之处望各位同仁指出!当然,此系列博文并非LZ完全原创,都是在前辈基础上总结,归纳,如果雷同纯属借鉴-- 问

Java中文乱码处理

一.处理get方法中文乱码 方法1   String name = new String(request.getParameter("userName").getBytes("iso-8859-1")); 方法2   在tomcat的conf文件下server.xml中redirectPort="8443"位置后添加: URIencoding="GBK" 二.处理post方法中文乱码 request.setCharacte

java中文乱码解决之道(七)-----JSP页面编码过程

我们知道JSP页面是需要转换为servlet的,在转换过程中肯定是要进行编码的.在JSP转换为servlet过程中下面一段代码起到至关重要的作用. <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="GBK" %> 在上面代码中有两个地方存在编码:pageEncoding.contentType的charset.其中pageEnco

java中文乱码解决之道(二)-----字符编码详解:基础知识 + ASCII + GB**

在上篇博文(java中文乱码解决之道(一)-----认识字符集)中,LZ简单介绍了主流的字符编码,对各种编码都是点到为止,以下LZ将详细阐述字符集.字符编码等基础知识和ASCII.GB的详情. 一.基础知识 在了解各种字符集之前我们需要了解一些最基础的知识,如:编码.字符.字符集.字符编码基础知识. 编码 计算机中存储的信息都是用二进制表示的,我们在屏幕上所看到文字.图片等都是通过二进制转换的结果.编码是信息从一种形式或格式转换为另一种形式的过程,通俗点讲就是就是将我们看到的文字.图片等信息按照

Java中文乱码原因

Java在中文环境中乱码无处不在,而且出现的时间和位置也包涵广泛,具体的解决方法也是千奇百怪. 但是如果能理清其中的脉络,理解字符处 理的过程,对于解决问题很有指导意义,不至于解决了问题也不知道为什么. 其实,原因不外乎出在String输入时和输出时. 首先,Java中的任何String都是以UNICODE格式存在的. 很多人因为在GBK环境中使用String,会误以为String是GBK格式,实际上Java的String类中并没有存储CharSet信息的字段, 所有String中的字符只会以U

Java中文乱码&amp;特殊字符解决方案

Java中文乱码&特殊字符解决方案 相信很多朋友遇到过Java的乱码问题,最近我也在解决一个"使用文本生成图片过程中中文以及特殊字符乱码"的问题:花了我大量时间,Debug了sun.font.sun.awt下面的各种源码,终于搞懂了其机制,解决了目前次问题:现在把问题解决过程给写下来,做个记录,以免以后再次遇到. 遇到的问题 下面是我想要执行的代码(经过极度简化,但是意思没变): 1 public static void main(String[] args) throws I

cmd运行Java中文乱码,无法加载主类Error: Could not find or load main class

网上说了好多方法,只说我用了的 cmd运行Java中文乱码 设置环境变量--系统环境变量 添加条目:JAVA_TOOL_OPTIONS 值:-Dfile.encoding=UTF-8 -Duser.language=en 无法加载主类 去掉package * 假如类test在src目录下.编译完之后,在src同级目录下运行 ··· java src.test ··· 原文地址:https://www.cnblogs.com/so-easy/p/11369745.html