新聞中心
漢語編程是怎么回事我也不大清楚,應(yīng)該是前年吧,我一朋友給我介紹漢語編程,怎么不錯不錯?當(dāng)時因?yàn)閷W(xué)習(xí)忙沒去關(guān)注這個,等我閑了,那個朋友不弄這個,問他他也不說不大清楚,最后自己對這個學(xué)習(xí)也不了了之了。

成都創(chuàng)新互聯(lián)公司專注于企業(yè)成都營銷網(wǎng)站建設(shè)、網(wǎng)站重做改版、固陽網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、成都h5網(wǎng)站建設(shè)、商城系統(tǒng)網(wǎng)站開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為固陽等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
今天我寫這個不是講解中英文之間的差距,解碼等,我是將我在這幾年工作遇到各種各樣的亂碼的解決方法,總結(jié)一樣,也希望大家能把自己暈倒解決亂碼的方法都說出來,咱們弄一個解決亂碼的“葵花寶典”。
對于Java由于默認(rèn)的編碼方式是 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"); %> |
<%
request.setCharacterEncoding("UTF-8");
%>
charset=UTF-8 的作用是指定JSP向客戶端輸出的編碼方式為“UTF-8”
pageEncoding="UTF-8" 為了讓JSP引擎能正確地解碼含有中文字符的JSP頁面,這在LINUX中很有效
request.setCharacterEncoding("UTF-8"); 是對請求進(jìn)行了中文編碼
有時,這樣仍不能解決問題,還需要這樣處理一下:
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目錄,就創(chuàng)建一個。
2)在你的web.xml里加入如下幾行:
| 以下是引用片段: Set Character Encoding filters.SetCharacterEncodingFilter encoding GBK Set Character Encoding /* |
3)完成.
2 get方式解決亂碼問題的辦法
1) 打開tomcat的server.xml文件,找到區(qū)塊,加入如下一行:
URIEncoding=”GBK”
完整的應(yīng)如下:
| 以下是引用片段: 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; //故障報(bào)告表編號 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是亂碼問題,不知道該怎么轉(zhuǎn),主要是不知道xmlHttp.send(urlmsg);以后是什么編碼?在后面用java來轉(zhuǎn),試了幾種,都沒有成功,其中有:
| 以下是引用片段: 代碼 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; } } |
文章題目:亂碼的問題!程序員永遠(yuǎn)無法避免的話題
文章路徑:http://www.fisionsoft.com.cn/article/djjicss.html


咨詢
建站咨詢
