婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 編碼為GB2312網站讓AJAX接收的數據顯示支持中文

編碼為GB2312網站讓AJAX接收的數據顯示支持中文

熱門標簽:如何用地圖標注各分公司 電銷機器人適用范圍 接聽電話機器人哪有 蓄意標記地圖標注 信貸電銷機器人有用嗎 莆田防封電銷卡價格 廣西ai語音電銷機器人哪家好 察縣地圖標注 辦理一個400電話多少錢
復制代碼 代碼如下:

script>
var xmlHttp;
var BrowerType="ie";
function createXML(){
try{
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e){
try{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e2) {
xmlHttp =false;
}
}
if (!xmlHttp typeof XMLHttpRequest != 'undefined'){
xmlHttp = new XMLHttpRequest();
BrowerType = "ff"; //用于記錄是否火狐,以便下面處理接收中文數據分析使用。
}
}
function querytelcode(citys){
createXML();
showState=document.getElementById("showtelcode");
xmlHttp.onreadystatechange = function(){
if (xmlHttp.readyState == 2){
showState.innerHTML = 'img src="/img/process.gif" />';
}else if (xmlHttp.readyState == 4 xmlHttp.status == 200){
if (BrowerType=="ff"){
getLastCode=xmlHttp.responseText;//FireFox
}else{
getLastCode=gb2utf8(xmlHttp.responseBody);
}
showState.innerHTML = getLastCode;
}
}
var url='myorderAjax.asp?oid=%=Request.QueryString("orderid")%>cityname='+citys;
xmlHttp.open ("GET",url,true);
if (BrowerType=="ff"){
xmlHttp.overrideMimeType("text/html;charset=gb2312");//設定以gb2312編碼識別數據,只有FF支持。IE不行
}
xmlHttp.send(null);
}
function gb2utf8(data){
var glbEncode = [];
gb2utf8_data = data;
execScript("gb2utf8_data = MidB(gb2utf8_data, 1)", "VBScript");
var t=escape(gb2utf8_data).replace(/%u/g,"").replace(/(.{2})(.{2})/g,"%$2%$1").replace(/%([A-Z].)%(.{2})/g,"@$1$2");
t=t.split("@");
var i=0,j=t.length,k;
while(++ij) {
k=t[i].substring(0,4);
if(!glbEncode[k]) {
gb2utf8_char = eval("0x"+k);
execScript("gb2utf8_char = Chr(gb2utf8_char)", "VBScript");
glbEncode[k]=escape(gb2utf8_char).substring(1,6);
}
t[i]=glbEncode[k]+t[i].substring(4);
}
gb2utf8_data = gb2utf8_char = null;
return unescape(t.join("%"));
}
/script>

以下是此篇文章全文:
XMLHttpRequest 默認是用UTF-8 傳遞數據。當服務端的返回數據是UTF-8編碼的時候,它工作得很好(開發web應用,當服務端和客戶端以及數據庫統一使用UTF-8編碼可以有效的避免亂碼問題)。如果服務端設置了正確的Content-Type Response Header以及編碼信息,那么XmlHttpRequest也可以正確工作。
可是當使用XMLHttpRequest讀取中文網頁內容時, 如果服務端的程序沒有設置Content-Type Response Header,或者Header沒有設置編碼類型,那么我們訪問responseText屬性的時候就可能遭遇亂碼。如以下代碼用XMLHttpRequest獲取雅虎中國網站的星座站首頁:
復制代碼 代碼如下:

xmlhttp = getXMLHttpRequest();
var url = "http://cn.astrology.yahoo.com/";;
xmlhttp.open("GET", url, true);
xmlhttp.onreadystatechange = function(){
if (xmlhttp.readyState == 4)
if (xmlhttp.status == 200)
alert(xmlhttp.responseText);
};
xmlhttp.send(null);

縱使yahoo中國這樣專業的網站,對web標準的支持還很不徹底,彈出的html源碼中充斥不符合web標準的html標簽,當然還有已預見的亂碼。
同樣遺憾的是,FireFox 和 IE 的解決方法也是南轅北轍
FireFox 做法:
FireFox 的XMLHttpRequest對象支持overrideMimeType方法,可以指定返回數據的編碼類型,利用該方法可以解決中文亂碼,前面的代碼修改如下:
復制代碼 代碼如下:

xmlhttp = getXMLHttpRequest();
var url = "http://cn.astrology.yahoo.com/";;
xmlhttp.open("GET", url, true);
xmlhttp.overrideMimeType("text/html;charset=gb2312");//設定以gb2312編碼識別數據
xmlhttp.onreadystatechange = function(){
if (xmlhttp.readyState == 4)
if (xmlhttp.status == 200)
alert(xmlhttp.responseText);
};
xmlhttp.send(null);

Internet Explorer 做法:
IE不支持overrideMimeType方法,并且只能用一種很蹩腳的方法來解決,此時需要引入一個雜交的函數:
復制代碼 代碼如下:

function gb2utf8(data){
var glbEncode = [];
gb2utf8_data = data;
execScript("gb2utf8_data = MidB(gb2utf8_data, 1)", "VBScript");
var t=escape(gb2utf8_data).replace(/%u/g,"").replace(/(.{2})(.{2})/g,"%$2%$1").replace(/%([A-Z].)%(.{2})/g,"@$1$2");
t=t.split("@");
var i=0,j=t.length,k;
while(++ij) {
k=t[i].substring(0,4);
if(!glbEncode[k]) {
gb2utf8_char = eval("0x"+k);
execScript("gb2utf8_char = Chr(gb2utf8_char)", "VBScript");
glbEncode[k]=escape(gb2utf8_char).substring(1,6);
}
t[i]=glbEncode[k]+t[i].substring(4);
}
gb2utf8_data = gb2utf8_char = null;
return unescape(t.join("%"));
}
xmlhttp = getXMLHttpRequest();
var url = "http://cn.astrology.yahoo.com/";;
xmlhttp.open("GET", url, true);
xmlhttp.onreadystatechange = function(){
if (xmlhttp.readyState == 4)
if (xmlhttp.status == 200)
alert(gb2utf8(xmlhttp.responseBody)); //注意這里要用responseBody
};
xmlhttp.send(null);

gb2utf8函數直接解析XMLHttpRequest返回的二進制數據,其中要利用execScript方法來執行VBScript的函數。所以說是一個雜交的函數。感謝blueidea論壇 提供的算法。
雖然有了解決的辦法,但形式丑陋,而且不符合web標準。所以應該在編程中盡量避免,如果是開發web應用,應盡量使用UTF-8編碼,或者在服務端設置正確的編碼信息。至于以上范例,有盜取其他網站內容的嫌疑,更是不為提倡。
附一篇:討論:
原因:AJAX在接收responseText或responseXML的值的時候是按照UTF-8的格式來解碼的,如果服務器段發送的數據不是UTF-8的格式,那么接收responseText或responseXML的值有可能為亂碼。
解決辦法: 在服務器指定發送數據的格式:
在jsp文件中:
response.setContentType("text/text;charset=UTF-8");//返回的是txt文本文件
或是
response.setContentType("text/xml;charset=UTF-8");//返回的xml文件
PHP:header('Content-Type:text/html;charset=GB2312');
ASP:Response.Charset("GB2312")
JSP:response.setHeader("Charset","GB2312");
討論:
PHP:header('Content-Type:text/html;charset=GB2312');
這樣寫除非是小項目
大項目都是按照框架走
對于HEADER定義于config文件最前端解決方案
在JS里有一個解析utf-8xml的方法寫的非常強
建議用那
非物理生命 traindiy
您可能感興趣的文章:
  • 十個優秀的Ajax/Javascript實例網站收集
  • php ajax網站瀏覽統計功能的簡單實現
  • PHP+Ajax 網站SEO查詢工具 提供代碼
  • 爬取今日頭條Ajax請求
  • ajax+node+request爬取網絡圖片的實例(宅男福利)
  • 通過抓取淘寶評論為例講解Python爬取ajax動態生成的數據(經典)
  • 如何爬取通過ajax加載數據的網站

標簽:延邊 阿拉善盟 益陽 銅陵 平涼 鷹潭 張掖 儋州

巨人網絡通訊聲明:本文標題《編碼為GB2312網站讓AJAX接收的數據顯示支持中文》,本文關鍵詞  編碼,為,GB2312,網站,讓,AJAX,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《編碼為GB2312網站讓AJAX接收的數據顯示支持中文》相關的同類信息!
  • 本頁收集關于編碼為GB2312網站讓AJAX接收的數據顯示支持中文的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国产成人一区在线| 久久精品夜夜夜夜久久| 成人精品视频一区二区三区 | 亚洲人吸女人奶水| 亚洲国产精品精华液2区45| 26uuu精品一区二区在线观看| 国产精品久久久久久久久久免费看| 日韩一区二区三区电影在线观看 | 精品免费日韩av| 精品国产电影一区二区| 精品国产区一区| 久久久久久久精| 日本一区二区三区免费乱视频| 久久毛片高清国产| 亚洲国产高清在线| 一区二区三区在线影院| 五月综合激情网| 精品一区二区三区免费| 国产99久久久国产精品潘金网站| aaa欧美大片| 欧美在线视频不卡| 欧美一区二区三区成人| 2023国产精华国产精品| 中文在线一区二区| 亚洲高清免费观看| 国产乱人伦偷精品视频不卡 | 久久亚洲一级片| 国产精品麻豆一区二区| 亚洲国产精品一区二区尤物区| 日韩影院免费视频| 国产成人在线免费观看| 色香蕉成人二区免费| 欧美老年两性高潮| 国产亚洲福利社区一区| 亚洲成人先锋电影| 国产成人精品免费网站| 欧美视频中文一区二区三区在线观看| 欧美一区二区精品在线| 国产精品乱子久久久久| 麻豆一区二区在线| 欧美天堂亚洲电影院在线播放| 久久久亚洲综合| 一级精品视频在线观看宜春院| 久久综合综合久久综合| 在线观看亚洲一区| 日本一区二区视频在线观看| 蜜臀av性久久久久av蜜臀妖精| 99精品欧美一区二区三区小说| 精品久久久三级丝袜| 亚洲超丰满肉感bbw| 9人人澡人人爽人人精品| 精品久久久久av影院| 午夜精品福利一区二区三区av| av不卡在线播放| 久久综合久久鬼色中文字| 亚洲综合清纯丝袜自拍| 欧美揉bbbbb揉bbbbb| 中文字幕一区二区三区精华液| 狠狠狠色丁香婷婷综合久久五月| 在线欧美日韩精品| 亚洲欧美在线视频| 成人午夜视频福利| 亚洲国产精品黑人久久久| 国产一区二区美女诱惑| 欧美tickling挠脚心丨vk| 日本成人在线一区| 56国语精品自产拍在线观看| 一区二区三区在线影院| 91蜜桃免费观看视频| 亚洲日本在线看| 91网站在线观看视频| 日韩一区欧美一区| 一本大道久久a久久精二百| 国产精品家庭影院| 成人免费视频网站在线观看| 中文字幕精品在线不卡| 国产精品一区二区三区网站| 久久久www免费人成精品| 国产老肥熟一区二区三区| 久久毛片高清国产| a美女胸又www黄视频久久| 亚洲三级视频在线观看| 欧美在线三级电影| 蜜臀久久久久久久| 亚洲精品一区二区三区精华液 | 经典三级一区二区| 久久久三级国产网站| 国产成人午夜99999| 国产精品视频线看| 在线观看免费一区| 伦理电影国产精品| 国产精品视频免费看| 一本色道久久加勒比精品| 午夜av一区二区三区| 久久免费视频色| 色婷婷久久综合| 男人的j进女人的j一区| 久久久久国产精品麻豆ai换脸| 成人性视频免费网站| 一区二区三区中文字幕电影| 91麻豆精品国产91久久久久久| 国产伦理精品不卡| 亚洲精品国产无套在线观| 日韩亚洲欧美综合| 成人午夜视频在线| 蜜臀av性久久久久蜜臀aⅴ四虎 | 久久99国产精品麻豆| 国产精品三级av| 在线不卡免费欧美| 波多野结衣亚洲一区| 麻豆成人免费电影| 国产精品中文字幕欧美| 亚洲视频一二三区| 日韩一区二区三区精品视频| 不卡的av在线| 美女www一区二区| 亚洲欧美日韩电影| 精品国产一区二区国模嫣然| 91理论电影在线观看| 韩国欧美国产一区| 一个色综合网站| 国产精品福利在线播放| 日韩视频永久免费| 欧美色涩在线第一页| 成人激情动漫在线观看| 精品在线播放午夜| 亚洲成人久久影院| 亚洲欧洲www| 国产精品色呦呦| 精品99999| 精品国产免费一区二区三区四区| 欧美挠脚心视频网站| 91麻豆高清视频| jizz一区二区| 成人av在线网站| 成人免费毛片aaaaa**| 国产在线观看免费一区| 蜜臀av在线播放一区二区三区| 亚洲一区二区美女| 一区二区成人在线观看| 亚洲人成影院在线观看| 中文av字幕一区| 久久久www免费人成精品| 亚洲精品在线观看视频| 久久伊99综合婷婷久久伊| 狠狠色综合播放一区二区| 成人丝袜高跟foot| 亚洲无人区一区| 色哟哟欧美精品| 国产精品日产欧美久久久久| 欧美电影免费观看高清完整版在线| 欧美日韩成人激情| 欧美日韩一区二区三区在线看| 欧美在线免费播放| 欧洲一区二区三区在线| 欧美久久婷婷综合色| 91麻豆精品国产91久久久久久 | 欧美色精品天天在线观看视频| 日本精品一级二级| 在线观看精品一区| 欧美一区二区三区日韩视频| 欧美一区二区三区的| 久久综合五月天婷婷伊人| 久久久噜噜噜久久中文字幕色伊伊| 国产欧美日韩另类一区| 国产精品久久网站| 一区二区三区在线视频免费 | 日韩亚洲欧美中文三级| 日韩亚洲电影在线| 欧美大片在线观看一区| 亚洲电影中文字幕在线观看| 香蕉久久夜色精品国产使用方法 | 亚洲免费在线视频一区 二区| 一区av在线播放| 麻豆成人久久精品二区三区小说| 狠狠久久亚洲欧美| 色综合久久久久综合体桃花网| 欧美电影在线免费观看| 久久久久九九视频| 亚洲伊人伊色伊影伊综合网| 久久精品国产一区二区| 99久久国产免费看| 欧美一级夜夜爽| 国产精品国产三级国产普通话三级 | jizz一区二区| 欧美日韩精品是欧美日韩精品| 欧美不卡一二三| 最新成人av在线| 久久aⅴ国产欧美74aaa| 色婷婷久久一区二区三区麻豆| 久久综合九色欧美综合狠狠| 亚洲女人****多毛耸耸8| 在线精品视频一区二区三四| 欧美sm极限捆绑bd| 亚洲午夜久久久久久久久电影院 | 一本在线高清不卡dvd| 精品乱人伦小说| 午夜欧美电影在线观看| 99久久精品免费看国产免费软件| 欧美一级高清大全免费观看|