乱码的解决方法
1.
常用方法 .
对于 Java,由于默认的编码方式是 UNICODE,所以用中文也易出问题,常见的解决是: String s2 = new String(s1.getBytes(“ISO-8859-1”),”GBK”);
2.utf8 解决 JSP 中文乱码问题 .
一般说来在每个页面的开始处,加入: contentType="text/html; charset=UTF-8" &;nbsp;&;nbsp;&;nbsp;
<%@ 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(msg.getBytes("ISO-8859-1"),"UTF-8"); out.println(st); String str=new
3.Tomcat 5.5 中文乱码 .
1.修改配置文件 1) 只 要 把 %TOMCAT 安 装 目 录 %/ webapps\servlets-examples\WEB-INF\classes\filters \SetCharacterEncodingFilter.class 文件拷到你的
webapp 目录/filters 下, 如果没有 filters 目录, 就创建一个。 2)在你的 web.xml 里加入如下几行:
Set Character Encoding
filters.SetCharacterEncodingFilter encoding GBK Set Character Encoding
/* 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 部分 代码: functionaddFracasReport() { varurl="controler?actionId=0_06_03_01&;actionFlag=0010"; varurlmsg="&;reportId="+fracasReport1.textReportId.value; //故障
报告表编号 varxmlHttp=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.getB
ytes("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; } } 4.JDBC ODBC Bridge 的 Bug 及其解决方法 在编写一数据库管理程序时,发现 JDBC-ODBC Bridge 存在不易发现的 Bug。在向数据表插入 数据时,如果为英文字符,存储内容完全正确,如果存入中文字符,部分数据库