由于ASSscript文件中包含中文注释或者中文的alert("中文信息");导致引用js文件无效或者引起弹出的信息为乱码。如果把js文件的方法直接放在.aspx文件中则没有任何问题。这个问题是由于.net中的text编码所引起的,我们需要把ASSscript.js文件保存为UTF-8或者其他Unicode编码方式,问题就迎刃而解。原来的文本编码为gb2312,因为其中有汉字。 如何进行编码转换? 1、用记事本打开,保存的时候选择Unicode编码; 2、直接在vs中选择另...
编码函数: 代码如下:function HtmlEncode(str) { var t = document.createElement("div"); t.textContent ? t.textContent = str : t.innerText = str; return t.innerHTML; } 解码函数: 代码如下:function HtmlDecode(str) { var t = document.createElement("div"); t.innerHTML = str; return t.innerText || t.textContent }
前些天我就碰到了用Ajax提交表单, 然后发送邮件的情况. 于是写出了下面的两个函数来解决这两个问题. 第一个函数把HTML中的数据转成HTML实体, 而HTML标签则自动不转, 这样无论到哪里都不会乱码, 可以在发送邮件时选择发送HTML格式的邮件. 第二个函数把JS数据同样是换成转义字符, 同样避开了JS关键词等字符的转换, 不管网页是什么编码它都不会乱码. 废话少说, 看下面的代码. 代码如下:Function htmlentities(str) Dim a,i,char For ...
首先,我们要考虑一下它的源文件布局,也就是决定代码如何拆分到独立的文件中去。为什么要这么做呢?还记得上期结尾处我提到这个组件会使用“外部代码”吗?为了区分代码的用途,决定将代码至少分成两部分:外部代码文件和 Smart Queue 文件。区分用途只是其一,其二,分散到独立文件有利于代码的维护。试想,以后的某一天你决定要在现有的队列管理基本功能之上,添加一些新的扩展功能,或是把它包装成某个实现特定任务的组件,而又...
在百度、谷歌上一搜,大家都是说通过JAVA后台处理来解决编码问题,试问,这样能解决JS文件本身的编码问题吗?之所以提出JS文件本身编码问题,是因为JS文件的编码不同,造成了中文显示为乱码。通常,在Eclipse中建立一个JS文件(含有中文),在Eclipse的编辑器中看到的中文都很正常,但是显示在网页上就是乱码,而我的页面全部都是采用UTF-8编码进行编码的,为此,我想到了,这可能是JS文件本身编码问题造成的。 在Eclipse中,JS文件...
代码如下:function uniencode(text) { text = escape(text.toString()).replace(/\+/g, "%2B"); var matches = text.match(/(%([0-9A-F]{2}))/gi); if (matches) { for (var matchid = 0; matchid < matches.length; matchid++) { var code = matches[matchid].substring(1,3); if (parseInt(code, 16) >= 128) { text = text.replace(matches[matchid], '%u00' + code); } } } text = text.replace('%25', '%u0025'); return text...
代码如下:String.prototype.HTMLEncode = function() { var temp = document.createElement ("div"); (temp.textContent != null) ? (temp.textContent = this) : (temp.innerText = this); var output = temp.innerHTML; temp = null; return output; } String.prototype.HTMLDecode = function() { var temp = document.createElement("div"); temp.innerHTML = this; var output = temp.innerText || temp.textContent; temp = ...
[escape] ISO Latin字符集对指定的字符串进行编码,不会被编码的字符[ @ * / +] [encodeURI] UTF-8字符集对指定的字符串进行编码 [encodeURIComponent] UTF-8字符集对指定的字符串进行编码,[支持更多的字符] 当源与目标页都为同一字符集时,并不需要转为UTF-8,这时可用[escape] 当源与目标页字符集不同时,需要对源字符转为目标字符,为统一可考虑使用UTF-8 new String(request.getParameter("PARAM_NAME").getBytes("源页编码")...
在非英文字符集的页面上,如果使用Ajax方式进行数据交互的话,就必须要注意保证前后端数据的统一编码,否则,很容易就出现乱码! 在后端是ASP程序的情况下,保持前端Javascript和Asp之间传值的统一编码可以使用以下函数进行处理: 编码:escape(string) 解码:unescape(string) 这两个函数在JavaScript和Asp里都存在,而且功能完全一样,只要任何一端向另一端传数据,都先用escape进行编码,接收的一端用unescape进行解码即可保证J...
所以呢,在引用js文档的时候,要设置被引用的文档是什么编码的。 如:一个utf-8的页面引用一个gb2312的js文档,那么就要这么写 <script type="text/javascript" charset="gb2312" src="gb2312.js"></script> 这样就不会出现问题了。
在这里我简单的谈一下前端HTML与javascript日常工作中常碰到的编码问题。在计算机中,我们储存的信息都是用二进制码表示的。我们认识的、屏幕上显示的英文、汉字等符号和储存用的二进制代码的互相转换,就是编码。 有两个基本概念需要说明,charset 和 character encoding: charset ,字符集,也就是某个符号和某个数字映射关系的一个表,也就是它决定了107 是koubei 的 ‘a',21475 是口碑的“口”,不同的表有不同的映射关系,如...
一:UTF8编码函数 代码如下:function URLEncode(Str){ if(Str==null||Str=="") return ""; var newStr=""; function toCase(sStr){ return sStr.toString(16).toUpperCase(); } for(var i=0,icode,len=Str.length;i<len;i++){ icode=Str.charCodeAt(i); if( icode<0x10) newStr+="%0"+icode.toString(16).toUpperCase(); else if(icode<0x80){ if(icode==0x20) newStr+="+"; else if((icode>=0x30&&icode<=0x39)||(icode>=0x41&&i...
js/vbs/vbscript加密代码: <body style="font:12px"> <fieldset> <legend align="center">源码变异处理 </legend> <table> <tr valign=top> <td><br> <button onclick=encJSHTM()> JS 网页加密 </button><br> <button onclick=encVBSHTM()> VBS网页加密 </button><br> <button onclick=encVBS()> VB 脚本加密 </button><br> <br><p style="font:12px"> 说明:<br><br> 将需要加密的内容<br>复制到框里,<br>点相应的按钮,<br>就可...
一开始使用ASCII编码来读取文本数据,模拟读取二进制数据,但是发现如果字符编码大于127时,只会得到小于128的值,相当于和128取余了,因此ASCII编码是不行的。 继续寻找,在CodeProejct.com找到一篇文章《Reading And Writing Binary Files Using JScript》,里面刚好有我需要的内容。 其实说来也简单,就是把编码换一下,使用437,这个是IBM扩展过的ASCII编码,把ASCII编码的最高位也利用起来,将字符集中的字符从128个扩展到256...
//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...