`
zithan
  • 浏览: 180074 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

解析Java中文乱码的处理方法

阅读更多

 

    本文作者总结了自己几年来在Java开发中遇到的各种各样的中文乱码的解决方法,与大家共享。

     

    【引自程序犹如人生的博客】为什么说乱码是中国程序员无法避免的话题呢?这个首先要从编码机制上说起,大家都是中文和英文的编码格式不是一样,解码也是不一样的!如果中国的程序员不会遇到乱码,那么只有使用汉语编程。汉语编程是怎么回事,我也不大清楚,应该是前年吧!我一朋友给我介绍汉语编程,怎么不错不错?当时因为学习忙没去关注这个,等我闲了,那个朋友不弄这个,问他,他也不说不大清楚,最后自己对这个学习也不了了之了。

    我写这个不是讲解中英文之间的差距,解码等,我是将我在这几年工作遇到各种各样的乱码的解决方法,总结起来,也希望大家能把自己晕倒解决乱码的方法都说出来,咱们弄一个解决乱码的“葵花宝典”。

    对于Java,由于默认的编码方式是UNICODE,所以用中文也易出问题,常见的解决是:

     

    String s2 = new String(s1.getBytes(“ISO-8859-1”),”GBK”);

     

    1、utf8解决JSP中文乱码问题

    一般说来在每个页面的开始处,加入:

     

    <%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

    <%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

    <%
    request.setCharacterEncoding("UTF-8");
    %>

     

    ◆charset=UTF-8的作用是指定JSP向客户端输出的编码方式为“UTF-8”;
    ◆pageEncoding="UTF-8",为了让JSP引擎能正确地解码含有中文字符的JSP页面,这在LINUX中很有效;
    ◆request.setCharacterEncoding("UTF-8");是对请求进行了中文编码。

     

    有时,这样仍不能解决问题,还需要这样处理一下:

     

    String msg = request.getParameter("message");
    String str=new String(msg.getBytes("ISO-8859-1"),"UTF-8");
    out.println(st);

     

    2、Tomcat 5.5中文乱码

    只要把%TOMCAT安装目录%/   webapps\servlets-examples\WEB-INF\classes\filters\SetCharacterEncodingFilter.class文件拷到你的webapp目录/filters下,如果没有filters目录,就创建一个。  

    2)在你的web.xml里加入如下几行:

     

      <filter>   
    <filter-name>Set   Character   Encoding</filter-name>  
    <filter-class>filters.SetCharacterEncodingFilter</filter-class>  
    <init-param>  
    <param-name>encoding</param-name>  
    <param-value>GBK</param-value>  
    </init-param>  
    </filter>  
    <filter-mapping>  
    <filter-name>Set   Character   Encoding</filter-name>  
    <url-pattern>/*</url-pattern>  
    </filter-mapping>

     

    3)完成

    2、get方式的解决办法

    1)打开tomcat的server.xml文件,找到区块,加入如下一行:  

     

      URIEncoding=”GBK”

     

    完整的应如下:

     

      port="80"   maxThreads="150"   minSpareThreads="25"   maxSpareThreads="75"   
    enableLookups="false"   redirectPort="8443"   acceptCount="100"  
    debug="0"   connectionTimeout="20000"    
    disableUploadTimeout="true"    
    URIEncoding="GBK"  
    />

     

    2)重启tomcat,一切OK。

    3、xmlHttpRequest中文问题

    页面jsp用的GBK编码

    代码:

     

    <%@ page contentType="text/html; charset=GBK"%>
    javascript部分

     

    代码:

     

    function addFracasReport() {   
    var url="controler?actionId=0_06_03_01&actionFlag=0010";  
    var urlmsg="&reportId="+fracasReport1.textReportId.value;  //故障报告表编号  

    var xmlHttp=Common.createXMLHttpRequest();  
    xmlHttp.onreadystatechange = Common.getReadyStateHandler(xmlHttp,
           eval("turnAnalyPage"));   
    xmlHttp.open("POST",url,true);  
    xmlHttp.setRequestHeader( " Content-Type " , "
           application/x-www-form-urlencoded);   
    xmlHttp.send(urlmsg);         
    }


 


要了解更多请上转载URL:http://developer.51cto.com/art/200708/53612.htm

分享到:
评论

相关推荐

    java中文乱码之解决URL中文乱码问题的方法

    在Java开发中,遇到中文乱码问题是一种常见的挑战,特别是在处理URL时。URL中文乱码问题主要是由于URL编码和解码过程中的不一致导致的。下面将详细介绍如何解决这个问题,并探讨几种常用的方法。 首先,我们需要...

    Java关于中文乱码问题的多种解决方法

    本文将深入探讨几种解决Java中中文乱码问题的方法,并以MyEclipse为开发环境,结合实际示例进行讲解。 1. 文件读写中的乱码: 当Java程序读取或写入包含中文字符的文件时,需要设置正确的字符编码。例如,使用`...

    java解析文件乱码解决

    本文将深入探讨如何解决Java中文件解析时出现的乱码问题。 首先,理解字符编码至关重要。常见的字符编码有ASCII、ISO-8859-1、GB2312、GBK、GB18030以及Unicode(包括UTF-8、UTF-16等)。在Java中,默认的字符编码...

    java中文乱码问题详解--- java中文乱码问题详解

    针对上述原因,我们可以采取以下措施来解决Java中文乱码问题: 1. **统一编码格式**:确保开发环境中所有相关的编码设置都使用统一的标准,如UTF-8。这包括文件保存时的编码、编译器的编码设置以及JVM的默认字符集...

    Java避免UTF-8的csv文件打开中文出现乱码的方法

    Java避免UTF-8的csv文件打开中文出现乱码的方法 在Java中,避免UTF-8的csv文件打开中文出现乱码的方法是非常重要的。csv文件是 comma separated values 的缩写,常用于数据交换和导入导出操作。然而,在Java中读取...

    Java编程乱码处理方法大全(附图说明)

    本篇文章将全面解析Java中的乱码处理方法,涵盖纯Java代码、Servlet、JSP以及EJB类的解决方案,帮助开发者有效解决这一问题。 首先,理解字符编码的基础知识至关重要。在计算机世界里,字符与数字之间的映射关系...

    java中文乱码问题

    Java 中文乱码问题详解 ...要解决乱码问题,我们需要了解 Java 处理字符的原理,并了解编译和运行时的字符编码转换过程。在编译时,需要指定正确的编码类型;在运行时,需要正确地处理字符编码转换,以避免乱码的出现。

    彻底解决中文乱码的问题

    通过以上方法,我们可以有效地防止和解决Java中的中文乱码问题。然而,每个具体问题可能需要针对性的解决方案,因此在实际工作中,了解并熟练掌握字符编码原理,结合具体情况调整代码,才能真正做到“彻底解决中文...

    Java 中文乱码问题

    在Java编程中,中文乱码问题是一个常见的困扰开发者的问题,特别是在处理输入输出或者网络通信时。这个问题涉及到字符编码的理解和正确使用。以下是对这个主题的详细解析: 首先,我们需要了解字符编码的基础知识。...

    Java Http请求传json数据乱码问题的解决

    在实际解决乱码问题的过程中,如果发现使用Base64加密传输中文数据还会出现问题,可以改用URL编码的方式来传输数据,即使用JavaScript的`encodeURI`函数对数据进行两次URL编码,后端接收到后进行一次URL解码即可。...

    JAVA反编译文件解决中文乱码

    本文将详细介绍如何解决JAVA反编译文件时的中文乱码问题。 首先,理解问题的根源:Java源代码默认采用UTF-8编码,但某些情况下,源代码可能使用了其他编码方式,如GBK。当这些源代码被编译成字节码后,再用不支持...

    Java Properties 解决中文乱码和顺序读写.docx

    Java Properties 类是Java标准库中...总之,Java Properties类是Java开发中处理配置文件的利器,通过它的方法可以方便地读取、修改和保存配置信息,尤其在处理包含中文字符的配置时,注意编码问题,确保数据的正确性。

    java Socket与C#通信中中文乱码问题的解决方案

    总结起来,解决Java Socket与C#通信中中文乱码问题的关键在于: 1. **客户端**:确保使用`getBytes("UTF-8")`将字符串编码为UTF-8字节数组,然后通过Socket发送。 2. **服务器端**:在接收到数据后,使用`Encoding....

    Java生成pdf文件,解决中文乱码问题.pdf

    Java 生成 PDF 文件,解决中文乱码问题 Java 生成 PDF 文件,解决中文乱码问题是 Java 编程中常见的问题。解决这个问题的关键是正确地设置中文字体,以避免乱码问题。本文将通过一个完整的示例代码,详细讲解如何...

    java中文乱码字符集解决大全.pdf

    Java程序在处理中文字符时可能会遇到乱码问题,这主要源于计算机历史上的编码标准差异和Java自身的编码机制。本文将详细分析这个问题的来源、Java编码转换的过程以及解决策略。 1. 中文问题的来源 早期的计算机...

    java处理中文乱码

    下面将详细介绍三种处理Java中中文乱码的方法。 方法一:类字符转换 这个方法涉及到将字符串从一种编码格式转换为另一种编码格式。在给出的示例中,`util.Encoding` 类的 `isToGB` 方法用于将ISO_8859_1编码的字符...

    彻底解决JAVA读取写入 TXT中文乱码问题 源码

    在Java编程中,读取和写入TXT文件时,经常...通过上述方法,你可以确保在处理包含中文字符的TXT文件时,不会出现乱码现象。在实际开发中,要养成良好的编码习惯,避免因编码问题导致的错误,提高代码的可读性和稳定性。

    java获取乱码问题

    ### Java获取乱码问题解析与解决方案 在Java应用开发过程中,字符编码问题一直是困扰开发者的一大难题,尤其是在处理HTTP请求中的中文或特殊字符时,经常会出现乱码现象。本文将详细介绍如何通过修改`server.xml`...

Global site tag (gtag.js) - Google Analytics