各位大侠:
请问在 ASP 中将数据插入数据库(SQL SERVER)时如何处理单、双引号及含有HTML 或 脚本程序的数据?
另:如何按原来的换行格式显示原来在多行文本框中输入的数据,如在PHP中有 nl2br()函数
---------------------------------------------------------------
有三种方法可以解决:
1. Server.HTMLEncode
2. 在服务器端自己写函数转换:
1
2Function coder(str)
3Dim result,L,i
4If IsNull(str) Then : coder="" : Exit Function : End If
5L=Len(str) : result=""
6For i = 1 to L
7select case mid(str,i,1)
8case "<" : result=result+"<"
9case ">" : result=result+">"
10case chr(34) : result=result+"""
11case "&" : result=result+"&"
12case chr(13) : result=result+"
<br/>
1"
2case chr(9) : result=result+" "
3case chr(32) : result=result+" "
4case else : result=result+mid(str,i,1)
5end select
6Next
7coder=result
8End Function
3. 在客户端用函数转换, 然后将转换好的文件提交:
1<script language="javascript">
2function coder(str)
3{
4var s = "";
5if (str.length == 0) return "";
6for (var i=0; i<str.length; i++)
7{
8switch (str.substr(i,1))
9{
10case "<" : s += "<"; break;
11case ">" : s += ">"; break;
12case "&" : s += "&"; break;
13case " " : s += " "; break;
14case "\"" : s += """; break;
15case "\n" : s += "<br>"; break;
16default : s += str.substr(i,1); break;
17}
18}
19return s;
20}
21</script>