ASP中特殊字符的处理?

yukeelau_1020 2002-10-31 06:54:12
各位大侠:

请问在 ASP 中将数据插入数据库(SQL SERVER)时如何处理单、双引号及含有HTML 或 脚本程序的数据?

另:如何按原来的换行格式显示原来在多行文本框中输入的数据,如在PHP中有 nl2br()函数
...全文
103 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
swufe_cjy 2002-10-31
  • 打赏
  • 举报
回复
可以考虑UBB
meizz 2002-10-31
  • 打赏
  • 举报
回复
下两个函数里对单引号都没处理, 对双引号ASP是chr(34)那句
在JS里是"\""那句,经过这样的处理之后, 就可以防止很多的意外发生了.
且也能正常显示到网页里了.
yukeelau_1020 2002-10-31
  • 打赏
  • 举报
回复
谢谢meizz(梅花雨)

单、双引号如何处理?
及换行显示用什么函数?

解决这两个问题就结贴,分不够再加。
meizz 2002-10-31
  • 打赏
  • 举报
回复
有三种方法可以解决:
1. Server.HTMLEncode
2. 在服务器端自己写函数转换:
<%
Function coder(str)
Dim result,L,i
If IsNull(str) Then : coder="" : Exit Function : End If
L=Len(str) : result=""
For i = 1 to L
select case mid(str,i,1)
case "<" : result=result+"<"
case ">" : result=result+">"
case chr(34) : result=result+"""
case "&" : result=result+"&"
case chr(13) : result=result+"<br>"
case chr(9) : result=result+"    "
case chr(32) : result=result+" "
case else : result=result+mid(str,i,1)
end select
Next
coder=result
End Function
%>

3. 在客户端用函数转换, 然后将转换好的文件提交:
<script language=javascript>
function coder(str)
{
var s = "";
if (str.length == 0) return "";
for (var i=0; i<str.length; i++)
{
switch (str.substr(i,1))
{
case "<" : s += "<"; break;
case ">" : s += ">"; break;
case "&" : s += "&"; break;
case " " : s += " "; break;
case "\"" : s += """; break;
case "\n" : s += "<br>"; break;
default : s += str.substr(i,1); break;
}
}
return s;
}
</script>

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧