用visual studio 写了一个留言板的程序,数据库用的是sql2005,在留言板中输入<>时,数据库中存入的是&lt和&gt,这是sql2005自带的功能么,为什么要这样?别的数据库也是这样么,如果所有的数据库都有这种功能,为什么还会有下面这样的过滤程序??function changechr(str) 
    
changechr=replace(replace(replace(replace(str,"<","&lt;"),">","&gt;"),chr(13),"<br>")," ","&nbsp;") 
    changechr=replace(replace(replace(replace(changechr,"[sayyes]","<img src="),"","<b>"),"[red]","<font color=CC0000>"),"[big]","<font size=7>") 
    changechr=replace(replace(replace(replace(changechr,"[/sayyes]","></img>"),"","</b>"),"[/red]","</font>"),"[/big]","</font>") end function

解决方案 »

  1.   

    并非所有的数据库都有这个功能,ORACLE就没有,需要自己替换
      

  2.   

    <>存入数据库中变成&lt和&gt应该是有了字符替换过滤程序引起的,sqlserver本身不会替换你存入的字符串的
      

  3.   

    记得以前写xml文件遇到过这种问题,称为字符转义
      

  4.   

    到底SQL有没有自动将<>转为&lt和&gt的功能啊??
      

  5.   

    我想可能是你文本里就是&lt和&gt
    html?