◎ 首页 > 网页制作 > 网页特效 > INTRODUCE
美满办理JS中汉字表现乱码题目(已办理)
摘要:完美解决JS中汉字显示乱码问题(已解决)
如题,适才看了几篇各人的接头,突然也想起要将本身最近研究的题目贴出来,往往和JS中乱码相干的题目都发到这里把,各人一路研究。:)
场景一:write写出来的内容是utf-8名目标,假如生涯的write数据中有不是utf-8编码的中文,对write嵌套俩次以上就会有乱码。因为手头没有现成的文件,适才姑且建造了一个,这是1.htm页面的代码:
复制代码 代码如下:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script language="JavaScript" src="1.js"></script>
</head>
<body onload=myjs(1)>
</body>
</html>
这是引用的1.js文件代码,俩个文件均用简体中文生涯而不是utf-8
复制代码 代码如下:
//这是JS递归自写进程中汉字乱码的演示措施
//不仅是中文内容不可,就连注释假如是中文偶然辰也不可
//感受JS一碰上中文就变得很不不变=_='
//Dec. 29th 2005 created by shouhaimu(QQ:30836570)
function myjs(i)
{
var t="<html>\n";
t+="<head>\n";
t+="<meta http-equiv='Content-Type' content='text/html; charset=gb2312'>\n";
t+="<script language='JavaScript' src='1.js'></script>\n";
t+="</head>\n";
t+="<body>\n";
t+="<input type=button onclick=myjs("+(i+1)+" value='这是演示措施,已经运行了"+i+"次!'>\n";
//上面这行假如改成下面这句就可以正常表现,看来确实是JS对汉字的支持不足好:
//t+="<input type=button onclick=myjs("+(i+1)+" value='This is my code,it has run "+i+" times!'>\n";
t+="</body>\n";
t+="</html>\n";
document.open();
document.write(t);
document.close();
}
场景二:通过XMLHTTP获取文件后再输出时,假如该文件包括中文信息并按gb编码,表现时中文信息会是乱码。
js代码如下:(注释是发贴子时辰加的,假如怕滋扰可以去掉)
复制代码 代码如下:
<SCRIPT language="JavaScript" type="text/JavaScript">
self.onerror=null;
var Http = new ActiveXObject("Microsoft.XMLHTTP";
Http.open("GET",URL,false); //URL是您必要获取的页面的网址
Http.send();
document.write(Http.responseText);
</SCRIPT>
其后用VBS办理,改成如下:
<SCRIPT language="VBScript" type="text/VBScript">
Function bytes2BSTR(vIn)
strReturn = ""
For i = 1 To LenB(vIn)
ThisCharCode = AscB(MidB(vIn,i,1))
If ThisCharCode < &H80 Then
strReturn = strReturn & Chr(ThisCharCode)
Else
NextCharCode = AscB(MidB(vIn,i+1,1))
strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
i = i + 1
End If
Next
bytes2BSTR = strReturn
End Function
set Http = CreateObject("Microsoft.XMLHTTP"
Http.open "Get",URL,false //URL是您必要获取的页面的网址
Http.send ""
document.write(bytes2BSTR(Http.responseBody))
</SCRIPT>
JS运行时汉字乱码相干题目的接头(编辑中呈现的题目请参考其他专题贴)
起首感激斑竹得指教,DHTML教程c心得技巧,这个页面不错,保藏了,详细内容研习中
有些我也传闻过,也做过测试,要害尚有三个疑团没有解开:
一、纵然是曾经正常表现的页面,假如用了退却可能读取了一个非utf-8页面往后也不能正常表现了;
二、纵然全部的防乱码(虽然从头编码的除外)法子都回收了,而且用统一措施打开铜一个页面,也不能担保每次出来的页面都能不变地表现为中文;
三、长途获取数据提交表单的题目,假如方针网站用了编码息争码,那么意味着假如表现的正常了,提交的内容就成了乱码,反之,亦然。于是不得不预先对全部获取的内容从头编码,这样就离不开编码措施,也就挣脱不了VBS得阴影=_='
适才测试中还发明个题目
先前发的VBS重编码函数,网页制作cDreamweaver教程,假如页面太大,IE会挂掉,SEO网站优化c网络编辑,详细多大预计缓和存及内存巨细有相关。总之,假如让我对中文支持的水平排序得话JS<VBS<ASP<HTML,HTML都静态了,虽然最不变,以是做动态页,假如不长短得客户端运行,凶猛提议用ASP天生代码。
斑竹给得页面页能打开了,我对Ajax和xml都还较量生疏,固然有传闻,但一向没有参与,能否简朴先容下,假如论坛上不利便说,可以加我QQ,资料中有,感谢了!
您也许感乐趣的文章:
(责任编辑:admin)------分隔线----------------------------