`

乱码解决

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

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

  对于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"
/>

)重启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;
  }
  }


 

分享到:
评论

相关推荐

    ZXing 2.1版GBK中文乱码解决办法

    ZXing 2.1版GBK中文乱码解决办法: zxing中扫瞄二维码图片,如果包含Gbk中文,乱码解决办法是修改DecodedBitStreamParser.h文件,在里面加入GBK的判断。 在2.1版本中,解码的定义不在这个类中了,挪到了...

    LINUX中文乱码解决方法

    ### Linux中文乱码解决方法 在使用Linux操作系统的过程中,用户可能会遇到中文显示出现乱码的情况。这种情况通常是由于系统编码设置不正确或者环境变量配置不当所导致的。本文将详细介绍如何解决Linux中的中文乱码...

    CAD字体乱码解决插件(超好用).zip

    "CAD字体乱码解决插件(超好用).zip" 提供了一个解决方案,它包含了一个名为 "fs.lsp" 的LISP程序和一个 "说明.txt" 文件,这两个文件都是为了帮助用户有效解决CAD字体乱码问题。 1. **LISP程序** (fs.lsp) - **...

    Oracle客户端PL/SQL 中文乱码解决

    在Oracle数据库环境中,PL/SQL是...文档《Oracle客户端中文乱码解决.docx》应该包含了详细的操作指南和案例分析,建议参考文档内容进行具体操作。在解决乱码问题时,保持耐心,仔细排查,通常能够找到合适的解决办法。

    C#接收json数据后中文乱码解决方法

    C#接收Json格式数据,中文出现乱码解决方法

    日文乱码解决利器

    标题中的“日文乱码解决利器”指的是针对中文系统下显示日文文本出现乱码问题的一种解决方案。在处理跨语言的计算机系统时,尤其是中文系统显示非中文字符集(如日文)时,由于编码不匹配,往往会出现乱码现象。这种...

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

    下面将详细讨论乱码产生的原因、解决方案以及如何预防。 一、乱码产生的原因 1. **编码格式不一致**:不同系统、软件或文件可能采用不同的字符编码,如ASCII、GBK、UTF-8等。当这些编码格式不兼容时,就会出现乱码...

    Linux系统中文乱码解决完整方案

    Linux系统中文乱码解决完整方案 本文档旨在解决 Linux 系统中文乱码问题,提供了一个完整的解决方案。该问题是由于 Linux 和 Windows 系统下所用户的字符集不同,Linux 系统使用的是 Unicode 字符集,而 Windows ...

    java读取txt文件乱码解决方案

    java读取txt文件乱码解决方案java读取txt文件乱码解决方案java读取txt文件乱码解决方案java读取txt文件乱码解决方案java读取txt文件乱码解决方案java读取txt文件乱码解决方案java读取txt文件乱码解决方案java读取txt...

    PDFCJK乱码解决

    PDFCJK乱码解决方案主要集中在以下几个方面: 1. 字体支持:PDF文件在渲染时需要依赖相应的字体库来正确显示字符。当PDF文档中包含的CJK字符不在系统或PDF阅读器内置的字体集中时,就会出现乱码。解决方法是确保...

    乱码解决大全.doc

    乱码解决大全 编码是计算机中最基本的概念之一,它是计算机对字符的表示方法。常见的编码有 UTF-8、GBK、GB2312、ISO-8859-1 等。其中,UTF-8 是最常用的编码之一,支持多种语言的表示,包括中文、大写字母、特殊...

    SecureCRT中文乱码解决方法

    "SecureCRT中文乱码解决方法" SecureCRT 是一款功能强大且高效的 SSH 客户端,可以与多种协议进行连接,包括 SSH、Telnet 和 rlogin 协议。然而,在使用 SecureCRT 连接 Linux 服务器时,可能会出现中文乱码的情况...

    plsql乱码解决办法

    PL/SQL 乱码解决办法 PL/SQL 乱码问题是 Oracle 数据库开发中常见的问题之一,当我们使用 PL/SQL Developer 查询数据时,可能会遇到中文乱码的问题。下面我们将详细介绍 PL/SQL 乱码的解决办法。 问题描述 在使用...

    jsp乱码解决方案 本方案解决了jsp常见的乱码问题

    ### jsp乱码解决方案 #### 一、引言 在Web开发中,特别是使用Java Server Pages (JSP)进行开发时,字符编码问题是一个经常遇到的技术难题。如果处理不当,很容易导致网页显示乱码,影响用户体验及数据的正确性。...

    express中文乱码解决

    ### Express 中文乱码解决方法 在Web开发中,尤其是使用Node.js的Express框架进行后端开发时,处理中文字符可能会遇到乱码问题。这通常是因为客户端与服务器之间的编码设置不一致导致的。本文将详细介绍如何在...

    Drozer中文乱码解决办法.docx

    Drozer 中文乱码解决办法 Drozer 是一款功能强大的 Android 渗透测试工具,但是在使用时,可能会遇到中文乱码的问题。今天,我们将探讨 Drozer 中文乱码解决办法。 一、问题描述 在使用 Drozer 时,可能会遇到...

Global site tag (gtag.js) - Google Analytics