中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

      JQuery中Post傳遞中文出現亂碼的解決方法有哪些

      時間:2024-08-17 01:11:13 jQuery 我要投稿
      • 相關推薦

      JQuery中Post傳遞中文出現亂碼的解決方法有哪些

        問題一:

        今天在做項目時,需要用到Ajax,之前我在用GET方式傳遞中文參數時,只需要在后臺程序中設置頁面編碼為GB2312即中文能正常顯示,可是這次由于表單項目較多,不適合用GET方式傳遞,只能用POST方式,但發現后臺程序中設置編碼為GB2312時中文還是顯示的亂碼。經過一番研究問題才最終得到解決。

        解決方法:

        解決此問題的方法非常簡單,只需要在JS處理參數時用escape()函數處理一下即可,而且不需要再用unescape()解碼,這個方法適合POST和GET方式,具體的Ajax代碼這里我不例出,這里給出用escape()函數處理參數時的代碼:

        復制代碼 代碼如下:var htmer ="getcode="+escape(getcode)+"&Content="+escape(Content);

        通常我們在處理Ajax的時候會在這里直接獲取參數的值,為了使中文參數不是亂碼,我們只需要用escape()函數對參數處理下即可。

        問題二:

        當網站頁面不是utf-8編碼時,ajax提交的中文便會變成亂碼。

        解決方法如下:

        找到jquery.js里的contentType:application/x-www-form-urlencoded,將它改成contentType:application/x-www-form-urlencoded; charset=UTF-8就可以了。

        原因:未指定charset時,jquery使用ISO-8859-1,ISO8859-1,通常叫做Latin-1。Latin-1包括了書寫所有西方歐洲語言不可缺少的附加字符。jquery的ajax根本沒有考慮到國際化的問題,而使用了歐洲的字符集,所以傳遞中文時才會出現亂碼

        我很久以前一直在使用Prototype框架。在.net-GB2312或jsp教程-utf8下都使用過,從來沒遇到有字符編碼的問題。于是將Prototype和JQuery代碼都下載下來打開研究原因。

        不同之處在于JQuery默認的contentType:application/x-www-form-urlencoded

        而Prototype則是contentType:application/x-www-form-urlencoded; charset=UTF-8

        這才是JQuery正在亂碼的原因,在未指定字符集的時候,是使用ISO-8859-1

        ISO8859-1,通常叫做Latin-1。Latin-1包括了書寫所有西方歐洲語言不可缺少的附加字符。

        JQuery的Ajax根本沒有考慮到國際化的問題,使用了歐洲的字符集,所以才引起了傳遞中文出現亂碼的問題。

        而我們的UTF-8則可以解決這一問題。

        最終指需要修改JQuery的代碼,顯式聲明contentType使用utf-8字符集,即可解決GB2312中文傳遞的問題。

        只需要簡單的將JQuery的代碼加以修改,加上charset=UTF-8就可以了,這樣不需要改變改什么web.config或什么在頁面中改編碼什么的了,也不需要用escapc(str)再在服務端解碼。英文怎么傳遞,中文也怎么傳遞。

        這里給段簡單的代碼測試一下:

        test.html頁面代碼:

        復制代碼 代碼如下:

        function DoAjax(){

        $.post("AjaxTest.aspx",{txt:$("#tbox1").val()},

        function(data){

        $("#AjaxResponse").text(data);

        }

        );

        }

        AjaxTest

        AjaxTest.aspx處理頁面:

        復制代碼 代碼如下:<%@ page="" language="C#" contenttype="text/html" responseencoding="gb2312">

        string parms;

        void Page_Load(object sender , EventArgs e)

        {

        parms=Request["txt"];

        if (String.IsNullOrEmpty(parms)){

        Response.Write("Is Null");

        }else{

        Response.Write(parms);

        }

        }

        此外,由于Ajax的默認漢字編碼是utf-8,因此比較保險的方法是保證所涉及的頁面統一編碼格式為utf-8。

      【JQuery中Post傳遞中文出現亂碼的解決方法有哪些】相關文章:

      excel文件出現亂碼的原因及解決方法07-18

      出現口腔潰瘍的原因有哪些10-07

      命令行的亂碼以及編碼的問題的解決方法08-02

      jQuery中prev()方法用法07-16

      jQuery中replaceAll()方法用法10-15

      jQuery中parent()和siblings()的問題10-16

      企業所得稅納稅籌劃中存在的問題以及解決方法有哪些?07-24

      關于Struts中文問題的解決方法01-08

      餐廳經營中的營業成本有哪些07-19

      演講中的控場技巧有哪些10-08

      主站蜘蛛池模板: 日本a在线天堂| 奈曼旗| 久久久精品中文字幕综合| 内黄县| 久久迷青品着产亚洲av网站| 国产三级精品三级男人的天堂,| 风韵丰满妇啪啪区老老熟女杏吧| 日产精品一区二区三区| 亚洲国产日韩欧美高清片a| 精品国产亚洲av麻豆尤物| 久久国产一区二区三区| 亚洲国产成人精品毛片九色| 随州市| 甘肃省| 石柱| 最新午夜国内自拍视频| 999久久久免费精品国产牛牛| 欧洲国产精品无码专区影院| 日本一区二区三区资源视频| 少妇一区二区三区久久久 | 亚洲中文字幕中文字幕中文字幕| 中文人妻av大区中文不卡| 免费人成视频欧美| 99久久精品久久久| 国内精品视频成人一区二区| 日韩精品人妻一区二区在线看| 额济纳旗| 国产福利97精品一区二区| 海淀区| 久久亚洲精彩无码天堂| 国产亚洲视频在线观看播放| 天堂网av在线| 亚洲国产一区二区三区视频在线| 精品国产亚洲av网站| 中文成人无字幕乱码精品| 狠狠狠狠狠综合视频| av网站影片在线观看| 中日无码精品一区二区三区| 极品少妇一区二区三区精品视频| 蜜臀av一区二区三区人妻在线| 免费人成黄页网站在线观看国内|