本文 16348 pv
1
utf-8转gb2312函数作用于javascript
© kekehu / 技术资源 / 2009.02.13 / 10:50 / 16348PV
这个问题是我在做搜索时出现的,我的网站是utf-8的,而搜索引擎是gb2312,用JS得到的关键提交到搜索引擎时出现乱码,所以只能在JS上处理了。代码如下:(纯JS不好实现,中间调用VBS方法)function gb2312(key)
{
var r = "";
for(var i=0;i<key.length;i++)
{
var t = key.charCodeAt(i);
if(t>=0x4e00 || t==0x300A || t==0x300B)
{
try
{
execScript("ascCode=hex(asc(\""+key.charAt(i)+"\"))", "vbscript"); r += ascCode.replace(/(.{2})/g, "%$1"); }
catch(e)
{}
}
else{r += escape(key.charAt(i))}
}
return r;
}
{
var r = "";
for(var i=0;i<key.length;i++)
{
var t = key.charCodeAt(i);
if(t>=0x4e00 || t==0x300A || t==0x300B)
{
try
{
execScript("ascCode=hex(asc(\""+key.charAt(i)+"\"))", "vbscript"); r += ascCode.replace(/(.{2})/g, "%$1"); }
catch(e)
{}
}
else{r += escape(key.charAt(i))}
}
return r;
}
2009.12.25 00:23
有点意思,呵呵。