`

乱码的处理,你了解吗?

    博客分类:
  • j2se
阅读更多

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

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

  对于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"%>  
<%  
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 中文乱码

  1)只要把%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”

  完整的应如下:

  

 

以下是引用片段:
 <Connector  
port="80" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"  
enableLookups="false" redirectPort="8443" acceptCount="100"  
debug="0" connectionTimeout="20000"  
disableUploadTimeout="true"  
URIEncoding="GBK"  
/> 

< p>  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);  

  后台java中获得的reportId是乱码,不知道该怎么转,主要是不知道xmlHttp.send(urlmsg);以后是什么编码?在后面用java来转,试了几种,都没有成功,其中有:

 

  

 

以下是引用片段:
代码 
  public static String UTF_8ToGBK(String str) { 
  try { 
  return new String(str.getBytes("UTF-8"), "GBK"); 
  } catch (Exception ex) { 
  return null; 
  } 
  } 
  public static String UTF8ToGBK(String str) { 
  try { 
  return new String(str.getBytes("UTF-16BE"), "GBK"); 
  } catch (Exception ex) { 
  return null; 
  } 
  } 
  public static String GBK(String str) { 
  try { 
  return new String(str.getBytes("GBK"),"GBK"); 
  } catch (Exception ex) { 
  return null; 
  } 
  } 
  public static String getStr(String str) { 
  try { 
  String temp_p = str; 
  String temp = new String(temp_p.getBytes("ISO8859_1"), "GBK"); 
  temp = sqlStrchop(temp); 
  return temp; 
  } catch (Exception e) { 
  return null; 
  } 
  } 
分享到:
评论

相关推荐

    Lua文件反编译汉字乱码处理

    然而,当处理含有汉字的Lua文件时,反编译过程中可能会出现汉字乱码的问题,这主要与字符编码不匹配有关。本文将详细介绍如何在C#环境下,特别是使用Visual Studio 2013时,解决Lua文件反编译后的汉字乱码问题。 ...

    乱码解决 乱码解决 乱码解决 乱码解决 乱码解决

    在IT领域,乱码问题是一个常见的困扰,尤其是在处理文本数据时。...乱码问题虽然麻烦,但只要了解其产生原因,掌握解决方法,就能有效地应对。在日常工作中,保持良好的编码习惯和规范的操作流程,是预防乱码的关键。

    servlet与jsp中文乱码处理

    2. **Servlet中的中文乱码处理** - **请求乱码**:当用户通过表单提交包含中文的数据时,需要在`doGet`或`doPost`方法中设置请求编码。 ```java request.setCharacterEncoding("UTF-8"); ``` - **响应乱码**:...

    传值 乱码 处理 jsp 处理表单时

    ### 传值与乱码处理在JSP中的实践 #### 一、背景介绍 在Web开发过程中,尤其是在处理用户输入的数据时,经常会遇到一个让人头疼的问题——“乱码”。这通常发生在不同编码格式之间转换不当时。对于Java Server ...

    TeraData 驱动+乱码处理

    1. **配置文件说明**:在提供的"乱码处理.txt"文件中,应该包含了如何配置TeraData驱动以适应中文字符集的指导。这可能包括设置JDBC连接URL中的字符集参数,例如`useUnicode=true`和`characterEncoding=UTF-8`。确保...

    get、post请求中文乱码处理方式一

    当我们在处理涉及中文字符的请求时,可能会遇到乱码...提供的压缩包文件“get、post请求中文乱码处理方式一”可能包含了更具体的代码示例和详细说明文档,建议下载后详细阅读,以便更深入地理解和应用这些处理方法。

    解压文件时中文乱码问题处理

    首先,我们需要了解乱码产生的原因。中文乱码通常是因为字符编码不一致导致的。当压缩文件创建时采用了一种字符编码(如GBK),而在解压时系统或应用使用的却是另一种编码(如UTF-8),就会出现乱码现象。7-Zip虽然...

    jsp资料基础知识分页和乱码处理

    在这个压缩包中,你可能会找到关于如何实现这些功能的示例代码、教程文档或者实战案例,这将有助于你更好地理解和掌握JSP分页和乱码处理技术。在学习过程中,建议动手实践,结合理论知识与实际操作,以加深理解并...

    QT 静态编译后中文可能会出现乱码解决办法

    当我们在使用QT进行开发时,如果项目中包含中文字符,那么在静态编译之后出现乱码的问题,主要是因为编译器在处理中文字符时所使用的编码格式与程序运行时的编码格式不一致导致的。具体来说,在静态编译过程中,如果...

    eclipseAPI生成中文乱码处理

    ### Eclipse API生成中文乱码处理 在开发过程中,我们经常遇到中文乱码的问题,尤其是在使用Eclipse这样的集成开发环境(IDE)时。本篇文章将详细探讨如何解决Eclipse API生成中文乱码的情况,并提供一系列解决方案...

    hadoop中文乱码问题

    【Hadoop中文乱码问题详解】 在大数据处理领域,Hadoop是一个不可或缺的开源框架,它提供了分布式存储(HDFS)和分布式计算(MapReduce...通过本文的讲解,希望能帮助你有效解决Hadoop处理中文数据时遇到的乱码难题。

    java中文乱码处理函数

    ### Java中文乱码处理函数详解 #### 一、引言 在进行Web开发时,我们经常会遇到字符编码问题,特别是中文字符的乱码问题。乱码不仅会影响用户体验,还可能导致数据解析错误。本文将详细介绍一个Java函数,用于解决...

    WEB开发乱码处理总结

    在WEB开发过程中,乱码问题是一个常见的困扰,尤其是在涉及到字符编码的时候。...对于文件“乱码处理1.doc”和“乱码处理2.doc”,它们可能包含了更具体的案例分析和解决方案,可以结合文档内容进一步学习和实践。

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

    1. 文件读写中的乱码处理: - 文件编码设置:在打开文件时,需要指定正确的编码方式。例如,使用`FileReader`和`FileWriter`时,可以通过`InputStreamReader`和`OutputStreamWriter`指定编码,如`new ...

    MySQl处理乱码

    MySQL是世界上最流行的开源关系型数据库管理系统之一,但在处理数据时,有时可能会遇到字符编码问题,导致乱码。本文将深入探讨MySQL处理乱码的...了解字符集原理并掌握相应的解决方法,是防止和解决乱码问题的关键。

    GX Developer 程序注解乱码处理方法.doc

    在处理GX Developer程序时,有时我们会遇到程序注解出现日语乱码的问题,这主要是因为字符编码不匹配导致的。针对这个问题,本文将提供一种有效的解决方案。 首先,我们需要了解乱码产生的原因。在GX Developer中,...

    韩文乱码转换器

    在IT行业中,韩文乱码转换是一个常见的问题,特别是在处理韩语文本时。"韩文乱码转换器"是一款专门解决此类问题的软件工具。它主要用于解决计算机在显示或处理韩文字符时出现的编码不匹配,导致显示为无法识别的乱码...

    彻底解决中文乱码的问题

    然而,每个具体问题可能需要针对性的解决方案,因此在实际工作中,了解并熟练掌握字符编码原理,结合具体情况调整代码,才能真正做到“彻底解决中文乱码问题”。 在提供的压缩包文件“中文乱码的问题决绝.doc”中,...

    tomcat日志乱码处理方法总结

    ### tomcat日志乱码处理方法总结 在日常运维或者开发过程中,经常遇到Tomcat的日志出现乱码的情况。这不仅影响阅读体验,更有可能在排查问题时带来不便。本文将详细总结几种常见的Tomcat日志乱码处理方法,帮助大家...

    阿里云缺失字体文件导致乱码问题处理

    在提供的“ecs 缺失字体文件导致乱码问题处理.txt”文件中,可能包含了详细的步骤指导、注意事项以及可能遇到的问题和解决方案。在处理这类问题时,务必仔细阅读并按照文件中的指示操作。 总之,当遇到阿里云ECS上...

Global site tag (gtag.js) - Google Analytics