日期:2014-05-16  浏览次数:20374 次

在javascript里面对中文进行gbk格式的url编码

前些日子,想把中文进行gbk格式的url编码,发现常用的escape、encodeURI、encodeURIComponent方法只能进行utf-8格式的url编码。

?

后来在网上找到一个方法,可以进行gbk格式的url编码

?

var asfman = {};   
asfman.urlEncode = function(str)   
{   
    window.execScript("Function vbsFun(str):vbsFun=hex(asc(str)):End Function","vbscript");   
    var gObject={};   
    return str.replace(/[\x00-\xff]/g,function(a)   
    {   
        return a.replace(/[^0-9a-zA-Z]/g,function(b){   
        if(!gObject[b])   
        gObject[b]="%"+vbsFun(b);   
        return gObject[b];   
        })   
    }).replace(/[^\x00-\xff]/g,function(c){   
        return c.replace(/./g,function(d)   
        {   
            if(!gObject[d])   
            gObject[d]= vbsFun(d).replace(/(..)(..)/,"%$1%$2");   
            return gObject[d];   
        })   
    }).replace(/%20/g,"+")   
};  alert(asfman.urlEncode('美女'));

?

?调用就用asfman.urlEncode(中文内容)。

?

?

?

1 楼 jianpc 2011-08-11  
不是IE怎么办