`

Ajax 编码转换,解决乱码问题

    博客分类:
  • Ajax
阅读更多
Ajax 编码转换,解决乱码问题
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>xml Http</title>
<script language=vbscript>
Function rsB(vIn)
 rsB=MidB(vIn,1)
End Function
Function vbChar(ss)
 vbChar = Chr(ss)
End Function
</script>
<script language=javascript>

//测试用的网址
url="http://www.hnnw.net/file/public/weather.htm";

//**全局变量**
//glbEncode储存ascii到unicode字符的转换,这样做的好处是可以提高重复解码时的解码效率
glbEncode=new Array();

//用同步方式获取网页内容
function loadURL(strURL){
 if(!strURL){return(false);}
 var xmlHTTP=new ActiveXObject("MSXML2.XMLHTTP");
 xmlHTTP.open("GET",strURL,false);
 xmlHTTP.send("");
 return xmlHTTP;
}

//重编码
function reCode(b){
 var t=rsB(b);
 t=escape(t).replace(/%u/g,"").replace(/(.{2})(.{2})/g,"%$2%$1").replace(/%([A-Z].)%(.{2})/g,"@$1$2");
 t=t.split("@");
 var i=0,j=t.length,k;
 while(++i<j)
 {
  k=t[i].substring(0,4);
  if(!glbEncode[k])glbEncode[k]=escape(vbChar(eval("0x"+k))).substring(1,6);
  t[i]=glbEncode[k]+t[i].substring(4);
 }
 return unescape(t.join("%"));
}

function init(){
 stTime1=(new Date()).getTime();
 ree=loadURL(url).responseBody;
 stTime2=(new Date()).getTime();
 s001=reCode(ree);
 stTime3=(new Date()).getTime();
 document.body.innerHTML="共计"+s001.length+"字节\n下载耗时:"+(stTime2-stTime1)+"\n解码耗时:"+(stTime3-stTime2)+"\n"+s001+"";
}
</script>
</head>
<body onload=init()>
下载中...
</body>
</html>

 

分享到:
评论

相关推荐

    ajax 乱码的一种解决方法

    上网找了一些资源,才弄明白这是编码的问题,我的服务器端发送过来的数据是GB2312编码的,而AJAX把接收到的数据都当成UTF-8编码的。 网上的很多解决方法都是服务器端基于PHP、JSP等的,要改变这些的编码方式都比较...

    详解PHP编码转换函数应用技巧

    可以在有需要的使用场合(如:解决在GB2312编码环境下使用Ajax产生的中文字乱码的问题)方便进行编码转换,以解决网页乱码的问题,使用非常方便,效率非常高,几乎支持所有编码。PHP 4 &gt;= 4.0.6、PHP 5 版本支持。 ...

    jquery ajax post提交数据乱码

    用户用pad访问的时候说有乱码,自己试验了下果然,后发现chrome和ie内核下都是有此问题,此问题设置了页面属性为utf-8时候,只有firefox是传的charset=utf-8的头文件chrome和ie都没有指定,所以出现乱码问题....

    XMLHTTP 乱码的解决方法(UTF8,GB2312 编码 解码)

    由于 Ajax 不论任何编码都能正常传送英文,所以用这种方法可以轻松解决。 ——————————————————————————– 用XMLHTTP Post Form时的表单乱码有两方面的原因——Post表单数据时中文乱码;...

    解决了Ajax、MySQL 和 Zend Framework 的乱码问题

    问题: 在 Google Map 上用 Ajax 以 get 方式向服务器传递数据时,服务器端显示为 url 乱码, Zend Framework 向 MySQL 存储数据为乱码,但是提取出来又是正常中文字体, MySQL 中输入中文,显示在 PHP 网页上为乱码...

    如何解决远程页面抓取中的乱码问题

    对于IE,可以用vbs配合来作编码转换,用gb2utf8来转换接收到的二进制数据,其中利用到execScript方法来调用vbs的函数。 代码如下:&lt;body&gt;&lt;/body&gt; [removed] loadPage(“index.htm”) function 

    jquery+ajax无刷新评论源码

    jquery+ajax无刷新评论源码 实现了获取评论无刷新,发表评论无刷新...这里只有自己做转换,如果你用form插件的时候就会发现,编码问题是不能回绝的。 完全开源,仅供学习 前台地址 index.htm 后面管理地址:admin.aspx

    JavaScript中的常见问题解决方法(乱码,IE缓存,代理)

    第2种方法能解决问题的原因: 进行两次转换后,在第一次getparameter方法中进行第一次解码,因为解出来的是英文(第一次encode之后的结果),所以不会出问题;第二次使用URLDecoder的decode方法,所以能正常解决这个...

    IE浏览器与FF浏览器关于Ajax传递参数值为中文时的区别实例分析

    前面介绍了《Javascript基于AJAX回调函数传递参数》,这里主要来分析一下ajax传递中文参数过程中针对不同浏览器的乱码处理方法。 Ajax传递参数为中文时出现乱码,我遇到的情况是: 1.我的数据库连接 编码为 GB2312,...

    ASP中进行HTML数据及JS数据编码函数

    第二个函数把JS数据同样是换成转义字符, 同样避开了JS关键词等字符的转换, 不管网页是什么编码它都不会乱码. 废话少说, 看下面的代码. 代码如下: Function htmlentities(str) Dim a,i,char For i = 1 to Len(str) ...

    KODExplorer 芒果云-资源管理器

    ###ver2.61(2014.7.12) ... #### 1.... - Kodexplorer为千帆网络工作室开发的一款服务器文件管理程序。 - 完美取代FTP管理:可...编码自动识别转换。(字符串转义问题。1&#'[{'"+~%25\\\\ ////) - 文件编辑,添加收藏夹 -...

    java web技术开发大全(最全最新)

    4.7.3 实例:解决服务端程序读取中文请求消息的乱码问题 4.7.4 实例:用AJAX技术发送和接收中文信息 4.7.5 实例:在请求消息头和响应消息头中转输中文 4.8 小结 第5章 JSP技术 5.1 用MyEclipse编写第一个...

    java web开发技术大全

    4.7.3 实例:解决服务端程序读取中文请求消息的乱码问题 4.7.4 实例:用AJAX技术发送和接收中文信息 4.7.5 实例:在请求消息头和响应消息头中转输中文 4.8 小结 第5章 JSP技术 5.1 用MyEclipse编写第...

    asp.net知识库

    帮助解决网页和JS文件中的中文编码问题的小工具 慎用const关键字 装箱,拆箱以及反射 动态调用对象的属性和方法——性能和灵活性兼备的方法 消除由try/catch语句带来的warning 微软的应试题完整版(附答案) 一个...

    PHP入门到精通

    20.4解决数据库乱码问题 第3篇 高级应用 PHP网络开发(教学录像:42分33秒) 21.1电子邮件的原理 21.2系统的配置需求(SMTP和POP3服务器安装配置) 21.3应用PHP发送和接收电子邮件 PHP与XML技术(教学录像:31分17秒...

    PHP入门到精通02

    20.4解决数据库乱码问题 第3篇 高级应用 PHP网络开发(教学录像:42分33秒) 21.1电子邮件的原理 21.2系统的配置需求(SMTP和POP3服务器安装配置) 21.3应用PHP发送和接收电子邮件 PHP与XML技术(教学录像:31分17秒...

    ExtJS4中文教程2 开发笔记 chm

    JQuery AJAX提交中文乱码的解决方案 Jquery css函数用法 JQuery中getJSON的使用方法 Jquery中显示隐藏的实现代码分析 JQuery全选功能的实现 JQuery特效——下拉菜单 JQuery系列教程之XPath选择符 JQuery系列教程之...

    ASP.NET Night Words

    3.5 乱码问题 26 3.6 服务器端表单 28 3.7 html服务器控件 28 3.8 总结 31 第4章 visual studio 2008介绍 32 4.1 visual studio 2008网站 4.1 开发环境介绍 32 4.2 asp.net网站类型介绍 33 4.3 创建基于解决...

    StartBBS开源轻量社区系统最新官方版

    27.强制页面输出utf8编码,防止乱码. 28.iis环境中,解决中文url的链接错误。 29.后台增加logo的设定 30.将CI升级到2.1.4,修改了项目说明文件,修改了Apache配置文件等(感谢Ruchee同学的push) 31.剥离系统版本信息...

    Java学习笔记-个人整理的

    {1.6}数据类型转换}{26}{section.1.6} {1.7}方法}{26}{section.1.7} {1.8}运算符}{27}{section.1.8} {1.8.1}自增运算}{28}{subsection.1.8.1} {1.8.1.1}Postincrement}{28}{subsubsection.1.8.1.1} {1.8.1.2}...

Global site tag (gtag.js) - Google Analytics