需求 在js中将中文用gb2312编码。如,“我”编码后应该是“%CE%D2”。 分析 大家知道,encodeURI和encodeURIComponent会用utf-8编码,如“我”编码后是“%E6%88%91”。据实验,似乎没有参数指定编码的地方。只有另寻他法。 大致分析有如下几种解决方案: 1. 用js创建一个隐藏的iframe并指定其为gb2312编码,将需要转换的文本放到iframe的form的一个input中,将form指定为get方式并提交, 然后获取其url并解析,应该可以得到其gb231...
代码如下://把编码转换成 gb2312编码 function UrlEncode(str) { var i, c, ret="", strSpecial="!\"#$%&()*+,/:;<=>?@[\]^`{|}~%"; for(i = 0; i < str.length; i++) { //alert(str.charCodeAt(i)); c = str.charAt(i); if(c==" ") ret+="+"; else if(strSpecial.indexOf(c)!=-1) ret += "%" + str.charCodeAt(i).toString(16); if(z[str.charCodeAt(i)] != null) { d = z[str.charCodeAt(i)]; try { ret += "%...
//Author: Unknow //把编码转换成 gb2312编码 function UrlEncode(str) { var i, c, ret="", strSpecial="!\"#$%&'()*+,/:;?@[\]^`{|}~%"; for(i = 0; i { //alert(str.charCodeAt(i)); c = str.charAt(i); if(c==" ") ret+="+"; else if(strSpecial.indexOf(c)!=-1) ret += "%" + str.charCodeAt(i).toString(16); if(z[str.charCodeAt(i)] != null) { d = z[str.charCodeAt(i)]; try { ret += "%" + d.slice(0,...
两个问题: 第一题: xmlhttp 的 responseText 默认总是utf-8的编码,前段时间为了以最小成本解决这个问题,索性整个项目用utf-8编码。网上解决的方法不多,而且都是比较乱七八糟的,不喜欢。又不能以后所有都用utf-8。 第二题: xmlhttp 载入页的javascript脚本,不能执行。事件的驱动却仍然可用,前段时间为了回避这东西,干脆把脚本全写一起了。恶心,总这么干,每次都要载入几百K的js文件,恶心。 那么,现在有时间了,最用正统...
需求 在js中将中文用gb2312编码。如,“我”编码后应该是“%CE%D2”。 分析 大家知道,encodeURI和encodeURIComponent会用utf-8编码,如“我”编码后是“%E6%88%91”。据实验,似乎没有参数指定编码的地方。只有另寻他法。 大致分析有如下几种解决方案: 1. 用js创建一个隐藏的iframe并指定其为gb2312编码,将需要转换的文本放到iframe的form的一个input中,将form指定为get方式并提交, 然后获取其url并解析,应该可以得到其gb231...
客户端是UTF-8编码,这也是现在大家公认的标准编码 在这种情况下,实用AJAX异步获取GB2312编码的服务器端信息时,不可避免的要遇到汉字乱码问题 因为目标数据是GB2312,但XMLHttpRequest默认是用UTF-8来进行数据封装的,因此会产生乱码 相信很多人都在用轻量级的JS工具集-prototype.js,它的AJAX功能同样很出色 我也一直在用它,因此对于这个问题也一直是基于 prototype.js来考虑的 但经过多次试验,还是没能把它返回的 responseTe...
在数据发送一方,利用 javascript 的 escape 函数事先将所有中文转换成英文编码并保存(也可以用 ASP 等其它语言的函数实时转换输出)。 在数据接收一方,利用 javascript 的 unescape 函数将所有英文编码还原。 由于 Ajax 不论任何编码都能正常传送英文,所以用这种方法可以轻松解决。 -------------------------------------------------------------------------------- 用XMLHTTP Post Form时的表单乱码有两方面的原因——Post...
在很多时候,我们直接在url中传递中文参数时,读到的中文都是乱码,那么我们应该怎么将这些参数转换呢? 下面我们来介绍一下方法 1、我们新建一个 UrlEncode.js 然后将下面的代码拷贝进去 代码如下: //JS版的Server.UrlEncode编码函数 String.prototype.UrlEncodeGB2312 = function () { var str = this; str = str.replace(/./g, function (sHex) { window.EnCodeStr = ""; window.sHex = sHex; window.execScript(window.EnCode...
方法一: 代码如下:function gb2utf8(data){ var glbEncode = []; gb2utf8_data = data; execScript("gb2utf8_data = MidB(gb2utf8_data, 1)", "VBScript"); var t=escape(gb2utf8_data).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); ...
问题描述:jquery的字符集是utf-8,load方法加载完GB2312编码静态页面后,出现中文乱码。 a.php 代码如下: $(function(){ $("#zz").click(function(){ $("#job").load("b.php"); }) }) 点击加载b页面 b.php 代码如下: echo "我这里面有中文"; ?> 解决方案: 方法一:将两个页面的编码格式转换成utf8 方法二:在b.php开头加入一行:header("Content-type: text/html; charset=gb2312"); a.php改为(不改应该也行): 代码如...
问题描述:jquery的字符集是utf-8,load方法加载完GB2312编码静态页面后,出现中文乱码。 a.php 代码如下:<script language="javascript" type="text/javascript"> $(function(){ $("#zz").click(function(){ $("#job").load("b.php"); }) }) </script> <a id="zz">点击加载b页面</a> <div id="job"></div> b.php 代码如下:<?php echo "我这里面有中文"; ?> 解决方案: 方法一:将两个页面的编码格式转换成utf8 方法二:在b.ph...
方法一: 代码如下:function gb2utf8(data){ var glbEncode = []; gb2utf8_data = data; execScript("gb2utf8_data = MidB(gb2utf8_data, 1)", "VBScript"); var t=escape(gb2utf8_data).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); ...
在很多时候,我们直接在url中传递中文参数时,读到的中文都是乱码,那么我们应该怎么将这些参数转换呢? 下面我们来介绍一下方法 1、我们新建一个 UrlEncode.js 然后将下面的代码拷贝进去 代码如下://JS版的Server.UrlEncode编码函数 String.prototype.UrlEncodeGB2312 = function () { var str = this; str = str.replace(/./g, function (sHex) { window.EnCodeStr = ""; window.sHex = sHex; window.execScript(window.EnCodeS...
//Author: Unknow //把编码转换成 gb2312编码 function UrlEncode(str) { var i, c, ret="", strSpecial="!\"#$%&()*+,/:;<=>?@[\]^`{|}~%"; for(i = 0; i < str.length; i++) { //alert(str.charCodeAt(i)); c = str.charAt(i); if(c==" ") ret+="+"; else if(strSpecial.indexOf(c)!=-1) ret += "%" + str.charCodeAt(i).toString(16); if(z[str.charCodeAt(i)] != null) { d = z[str.charCodeAt(i)]; try { r...
信息交换用汉字编码字符集-基本集 汉字标准交换码共分两级。第一级为常用字,有3755字,按汉语拼音字母顺序排列,第二级为次常用字,有3008字,按部首排列。GB2312的编码范围为2121H-777EH. UNICODE 是两字节的全编码,对于ASCII字符它也使用两字节表示。代码页是通过高字节的取值范围来确定是ASCII字符,还是汉字的高字节。如果发生数据损坏, 某处内容破坏,则会引起其后汉字的混乱。UNICODE则一律使用两个字节表示一个字符,最明...