所以我知道当您尝试将撇号插入数据库时,撇号会搞砸,但我的撇号甚至在那之前搞砸了!这是我的代码的样子:
String test = null;
test= Textbox1.Text.ToString();
当我通过调试它,并说我在文本框1 中输入了“进展如何”时,我看到当我将该值传递给测试时,How's 中的撇号变成了“'”。
我猜它与页面的编码有关?但我不确定。有人知道吗?是否有一个字符列表会像这样搞砸,以便我可以进行通用修复?
所以我知道当您尝试将撇号插入数据库时,撇号会搞砸,但我的撇号甚至在那之前搞砸了!这是我的代码的样子:
String test = null;
test= Textbox1.Text.ToString();
当我通过调试它,并说我在文本框1 中输入了“进展如何”时,我看到当我将该值传递给测试时,How's 中的撇号变成了“'”。
我猜它与页面的编码有关?但我不确定。有人知道吗?是否有一个字符列表会像这样搞砸,以便我可以进行通用修复?
尝试使用HttpUtility.HtmlDecode。似乎您正在获取编码的字符串。
StringWriter myWriter = new StringWriter();
HttpUtility.HtmlDecode(Textbox1.Text.ToString(), myWriter);
String test = myWriter;
我面临同样的问题。我已经通过更改页面的内容类型来解决它。
<%@ Page Language="C#" ContentType="application/xhtml+xm" %>
我认为你有两个选择
用 Say...Single_Quote 替换您的特殊字符(如 Single Quote),在从数据库中检索时,您可以在渲染时转换回 Single Quote
插入数据库中的字符串。现在,在从数据库中获取数据时,您可以使用 Literal Control。此控件提供三个属性
(a) 变换
(b) 编码
(c) 变换