彻底解决JS乱码问题

好像用Firefox的用户越来越多,由于以前博客使用的JS文件都是在IE下测试的,现在在Firefox下调用会出现乱码问题(访客列表所使用的JS文件),分析原因Firefox下,发现 <SCRIPT>中的charset设置并不起作用,Firefox会根据页面的字符集解释JS文件,由于页面字符集与JS文件字符集不一致故会出现乱码。同时就算JS文件与页面字符集一致,但由于用户自己在浏览器中更改编码,同样也会出现乱码。
为彻底解决乱码问题,就要查找一种与编码无关的“字符集”,如今与字符集无关的编码就是UNICODE编码,UNICODE编码与ASC码一样,只不过ASC吗只包含英文,而UNICODE码包含几乎全球所有国家的文字。
由于访客列表使用的JS文件是用ASP自动生成的,故在ASP生成JS文件时,ASP读取数据库数据后需要将数据全部转换成UNICODE编码,函数如下:

Function URLenc(strEnc)
dim j,i
for i = 1 to len(strEnc)
char = mid(strEnc, i, 1)
j=ascw(char)
if j<0 then j=j+65536
if j > 128 then
URLenc= URLenc & "&#" & j & ";"
else
URLenc= URLenc & char
end if
next
End Function

如果使用Javascript,则字符串对象有内部函数直接转换:

function URLenc(strEnc){
var strR='';
for (var i=0; i strR += '&#' +strEnc.charCodeAt(i) + ';';
return strR;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值