当前位置:编程学习 > JS >>

关于javascript中文乱码的处理方法

现在在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;
}

补充:网页制作,js教程
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,