ASP实现HTML实体与Unicode转义编码函数

作者:小圆点时间:2026-10-24 09:16:52浏览:487

本文介绍在ASP中处理Ajax表单提交时,针对HTML内容和JavaScript数据分别进行安全编码的两个自定义函数。第一个函数将非ASCII字符转换为HTML实体,保留标签;第二个函数将字符串转换为Unicode转义序列(\uXXXX),确保跨编码环境下的数据完整性与无乱码显示。

ASP HTML数据编码与JS数据转义函数实现

此前在处理通过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默认将其视为整型处理,因此代码中需进行相应的类型处理以确保证确性。

作者最新文章