当前位置: 首页 > 图文教程 > 网络编程 > Javascript > ASP中进行HTML数据及JS数据编码函数

Javascript
编写跨浏览器的javascript代码必备[js多浏览器兼容写法]
JS Array对象入门分析
javascript typeof的用法与typeof运算符介绍[详细]
js CSS操作方法集合
让任务管理器中的CPU跳舞的js代码
ajax无刷新动态调用股票信息(改良版)
js Clip的奇思妙想之文字拼接效果
js Clip奇思妙想之多彩渐变字效果
JS 创建对象(常见的几种方法)
JS中字符问题(二进制/十进制/十六进制及ASCII码之间的转换)
JS提交并解析后台返回的XML的代码
初学Javascript的一些总结
JS 继承实例分析
js form action动态修改方法
仿163填写邮件地址自动显示下拉(无优化)
js判断对象是否是某一类型
解决extjs在firefox中关闭窗口再打开后iframe中js函数访问不到的问题
js 目录列举函数
js颜色选择器代码[firefox不支持]
js wmp操作代码小结(音乐连播功能)

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 346 ::
收藏到网摘: n/a

在有些时候我们无法控制乱码的出现, 比如发送邮件的时候有些邮件显示乱码, 比如Ajax返回数据总是乱码. 怎么办? 前些天我就碰到了用Ajax提交表单, 然后发送邮件的情况. 于是写出了下面的两个函数来解决这两个问题.
第一个函数把HTML中的数据转成HTML实体, 而HTML标签则自动不转, 这样无论到哪里都不会乱码, 可以在发送邮件时选择发送HTML格式的邮件.
第二个函数把JS数据同样是换成转义字符, 同样避开了JS关键词等字符的转换, 不管网页是什么编码它都不会乱码. 废话少说, 看下面的代码.
复制代码 代码如下:

Function htmlentities(str)
Dim a,i,char
For i = 1 to Len(str)
char = mid(str, i, 1)
a=Ascw(char)
If a > 128 Or a < 0 then
htmlentities = htmlentities & “&#” & clng(”&h” & hex((Ascw(char)))) & “;”
Else
htmlentities = htmlentities & char
End if
Next
End Function
Function Unicode(str1)
Dim str,temp
str = “”
For i=1 To Len(str1)
temp = Hex(AscW(Mid(str1,i,1)))
If len(temp) < 5 Then temp = Right(”0000″ & temp, 4)
str = str & “\u” & temp
Next
Unicode = str
End Function

如果你是抱着拿着就用的态度那么可以什么也不管直接用, 当然很多时候我们为了满足特殊情况的需要, 会改写一些代码, 如果你报着学习与研究的态度, 那么这里需要注意的是 Ascw(char) 函数有可能返回长整型值, 而ASP把它当成整型看待, 需要做些小的处理.