C'est La Vie

    人生无彩排,每一天都是现场直播!

    在GBK编码的页面中使用AJAX

    在使用AJAX时,如果遇到使用GBK或GB2312编码的页面,怎么办呢?首先需要把GBK编码的汉字转换成UTF […]

    在使用AJAX时,如果遇到使用GBK或GB2312编码的页面,怎么办呢?首先需要把GBK编码的汉字转换成UTF8编码,才不会出现乱码的情况。

    使用下面的函数进行编码:

    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(++i < j) {
    		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('%'));
    }

    发表回复

    您的电子邮箱地址不会被公开。 必填项已用*标注