Ajax返回结果中文乱码的解决办法

情景:用JQuery的Ajax调用他站接口查询数据。

代码:

Javascript代码
  1. $.getJSON(  
  2.     $strurl + "/fwqueryjson.asp?callback=?",  
  3.     { FwCode: $FwCode.val() },  
  4.     function(data) {$CheckResult.html(data.QueryResult);}  
  5. );  

现象:返回的结果里的中文是乱码,英文与数字正常。

原因:本地是UTF-8编码,他站是GB2312编码,请求时默认以本地编码发起请求,与远端不一致,导致乱码。

解决:先指定Ajax请求的编码,代码如下

Javascript代码
  1. $.ajaxSetup({ scriptCharset: "gb2312" , contentType: "application/json; charset=gb2312"});