奶头挺立呻吟高潮av全片,成人试看120秒体验区,性欧美极品v,A片高潮抽搐揉捏奶头视频

jQuery

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

時間:2024-10-28 13:01:25 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傳遞中文出現亂碼的解決方法有哪些】相關文章:

Word打開WPS文檔成亂碼的解決方法參考07-22

Word打開WPS文檔成亂碼的解決方法介紹07-19

關于Word打開WPS文檔成亂碼的解決方法07-22

關于雙硬盤出現的問題和解決方法05-15

香港中文大學金融工程碩士有哪些申請條件03-30

2024中國象棋的術語有哪些04-13

廣告設計中色彩的運用有哪些原則07-03

PLC在數控機床中的應用有哪些11-28

愛爾蘭留學生活中的基本費用有哪些?11-08

舞蹈的種類有哪些05-20

主站蜘蛛池模板: 攀枝花市| 宁阳县| 连平县| 卓资县| 格尔木市| 新津县| 山西省| 临泉县| 灵山县| 韩城市| 乌什县| 西吉县| 伊宁市| 久治县| 华安县| 厦门市| 安图县| 黑山县| 秦皇岛市| 伊宁市| 安化县| 湛江市| 封丘县| 象山县| 清河县| 乌鲁木齐市| 长海县| 福海县| 巴南区| 卢氏县| 藁城市| 墨脱县| 乐陵市| 永吉县| 西乡县| 隆回县| 南昌县| 木里| 六安市| 仁布县| 兴国县|