<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    weidagang2046的專欄

    物格而后知致
    隨筆 - 8, 文章 - 409, 評論 - 101, 引用 - 0
    數(shù)據(jù)加載中……

    Ajax中文亂碼問題解決方案(servlet)

    最近研究ajax,在界面上text中輸入中文,發(fā)送出去后返回亂碼。經(jīng)過一個晚上的測試,以及得到滿意答案,代碼如下:

    HTML:
    ??? ……
    ??? //實(shí)際上這里的charset=utf-8 也是可以的,因?yàn)樵谥形钠脚_下
    ??? //用了GB2312
    ??? <meta http-equiv="Content-Type" content="text/html; charset=GB2312">

    JS:
    ??? 我用了兩個方法提交:GET 和 POST。
    ??? 在服務(wù)器端要對應(yīng)不同的提交方式轉(zhuǎn)換不同的編碼。

    ?? ……
    ??? //要傳遞的參數(shù)
    ?? var queryString = "firstName=" + firstName + "&lastName=" + lastName
    ????????????????????????? + "&birthday=" + birthday;??? function ?
    ?
    ??? //GET方式提交
    ??? doRequestUsingGET() {
    ??????? createXMLHttpRequest();
    ??????? var url = "GetAndPostExample?" + queryString + "&timeStamp="
    ????????????????????????? + new Date().getTime();
    ??????? xmlHttp.onreadystatechange = handleStateChange;
    ??????? xmlHttp.open("GET", url, true);
    ??????? xmlHttp.send(null);
    ??? }

    ??? //POST方式提交
    ??? function doRequestUsingPOST() {
    ??????? createXMLHttpRequest();
    ??????? var url = "GetAndPostExample?timeStamp=" + new Date().getTime();
    ??????? xmlHttp.open("POST", url, true);
    ??????? xmlHttp.onreadystatechange = handleStateChange;
    ??????? xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    ??????? xmlHttp.send(queryString);
    ??? }

    servlet:
    ??????? response.setContentType("text/xml");

    ??????? //這個一定要設(shè)置,這里的設(shè)置應(yīng)該跟HTML中的一樣,但是我在這里
    ??????? //用了 uft-8, 結(jié)果也是一樣。
    ??????? response.setCharacterEncoding("GB2312");
    ???? ?
    ??????? //當(dāng)用POST方法時,一定要設(shè)置成utf-8,否則亂碼
    ??????? String firstName = new String(request.getParameter("firstName").getBytes("ISO-8859-1"), "utf-8");

    ??????? //當(dāng)用GET方法時,要設(shè)置成GB2312,否則亂碼。
    ??????? String lastName = new String(request.getParameter("lastName").getBytes("ISO-8859-1"), "GB2312");

    測試結(jié)果:
    因?yàn)榻缑嫔蟽蓚€控件firstName 和? lastName都輸入中文。
    接收xmlHttp.responseText后,會發(fā)現(xiàn)其中一個為亂碼,一個可以正常顯示中文。

    在網(wǎng)上還發(fā)現(xiàn)有人說用:
    “老問題了,最簡單的方法是,全部escape后發(fā)送。取回后unescape,絕對沒有編碼問題?!?br />我測試后發(fā)現(xiàn)escape后的東西全部變成null了。不知道有誰成功用過這個方法的,或者還有什么更好的解決亂碼的方法,請拿出來共享一下吧 :)

    from: http://www.themore.net/page/7/37/2006_08/detail_407_1.html

    posted on 2006-12-09 23:06 weidagang2046 閱讀(1177) 評論(0)  編輯  收藏 所屬分類: Java 、Javascript

    主站蜘蛛池模板: 中国精品一级毛片免费播放| 日韩免费观看一区| 亚洲另类图片另类电影| 亚洲综合国产一区二区三区| 日韩免费视频播放| 97免费人妻无码视频| 免费观看91视频| 好吊色永久免费视频大全| 看成年女人免费午夜视频| 亚洲乱码卡一卡二卡三| 亚洲国产美国国产综合一区二区 | 亚洲人成网站色在线入口| 午夜宅男在线永久免费观看网| 国产高清不卡免费视频| 精品一区二区三区免费观看 | 中字幕视频在线永久在线观看免费| 在线涩涩免费观看国产精品| 乱淫片免费影院观看| 老司机福利在线免费观看| 亚洲欧美国产国产一区二区三区 | 99久久99久久精品免费观看 | 国产精品亚洲а∨无码播放| 国产伦精品一区二区三区免费下载 | 亚洲依依成人亚洲社区| 亚洲日本乱码一区二区在线二产线| 亚洲免费人成视频观看| 久久午夜无码免费| 99视频在线精品免费| 免费毛片a线观看| 日本免费人成网ww555在线| 中文在线免费观看| 国产精品一区二区三区免费| 一级人做人爰a全过程免费视频 | 亚洲网站在线免费观看| 日本免费一区二区三区| 99国产精品免费观看视频| 久久成人a毛片免费观看网站| 国产va在线观看免费| 24小时日本韩国高清免费| 亚洲一级毛片免费看| 中文毛片无遮挡高潮免费|