安装程序乱码:乱码的处理!程序员永远无法避免的话题

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

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

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

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

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

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

以下是引用片段:
<%@ page language="java" contentType="text/html; char=UTF-8" 
pageEncoding="UTF-8"%> 
<% 
request.CharacterEncoding("UTF-8"); 
%> 

  char=UTF-8 作用是指定JSP向客户端输出编码方式为“UTF-8”

  pageEncoding="UTF-8" 为了让JSP引擎能正确地解码含有中文JSP页面这在LINUX中很有效

  request.CharacterEncoding("UTF-8"); 是对请求进行了中文编码

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

  String msg = request.getParameter("message");

  String str= String(msg.getBytes("ISO-8859-1"),"UTF-8");

  out.prln(st);

  2、Tomcat 5.5 中文乱码

  1)只要把%TOMCAT安装目录%/ webapps\servlets-examples\WEB-INF\es\filters\SetCharacterEncodingFilter.文件拷到你webapp目录/filters下如果没有filters目录就创建

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

以下是引用片段:
<filter> 
<filter-name>Set Character Encoding</filter-name> 
<filter->filters.SetCharacterEncodingFilter</filter-
<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) 打开tomcatserver.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" 
/> 
  2)重启tomcat,切OK

  3、xmlHttpRequest中文问题

  页面jsp用GBK编码

  以下是引用片段:
 代码 
<%@ page contentType="text/html; char=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.RequestHeader( " Content-Type " , " application/x-www-form-urlencoded); 
xmlHttp.send(urlmsg); 

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

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

Tags:  安装程序出现乱码 应用程序乱码 程序乱码 安装程序乱码

延伸阅读

最新评论

发表评论