所以我理解当你试图将它们插入数据库时,撇号会搞砸,但是在我之前我的撇号就搞砸了!这是我的代码:
String test = null;
test= Textbox1.Text.ToString();
当我经历并调试这个,并说我在文本框1中输入“它是怎么回事”时,我看到当我将该值传递给测试时,How中的撇号变为“&#39”。 / p>
我猜它与页面的编码有关?但我不太确定。有人知道吗?是否有一个字符列表会像这样搞砸,所以我可以进行普遍修复?
答案 0 :(得分:3)
尝试使用HttpUtility.HtmlDecode。看起来你正在获得一个编码的字符串。
StringWriter myWriter = new StringWriter();
HttpUtility.HtmlDecode(Textbox1.Text.ToString(), myWriter);
String test = myWriter;
答案 1 :(得分:1)
我遇到了同样的问题。我通过更改页面的内容类型解决了这个问题。
<%@ Page Language="C#" ContentType="application/xhtml+xm" %>
答案 2 :(得分:-2)
我认为你有两个选择
使用Say ... Single_Quote替换您的特殊字符,例如单引号,在从数据库中检索时,您可以在渲染时转换回单引号
将字符串原样插入数据库中。现在,在从数据库中获取时,您可以使用Literal Control。此控件提供三个属性
(a)转换
(b)编码
(c)转换