我有一个包含VarChar(50)
列的SQL Server数据库。我正在使用这个应用程序的ASP.NET/C#。选择带撇号的VarChar
我已经保护了我的程序免受SQL注入,所以当我插入任何带有撇号的文本时,它会正确插入。我已经在数据库中证实了这一点。
但是,现在当我查询此varchar
列的数据库时,不是在列中获得撇号,而是获取它的Unicode版本(')。我使用SqlDataSource
并将其绑定到DataGridView。什么可能导致这种转换?我怎样才能避免它?
编辑:
似乎这个问题只发生在文本框中,标签似乎正在正确显示它们。
感谢您的帮助。这个社区很棒!
您误解了这个问题。数据库中的所有内容都很完美。使徒们是使徒。当我选择这些数据并尝试在没有明显原因的情况下将其转换为unicode的问题中使用它时? – ImGreg 2012-02-09 23:11:59
感谢您的编辑。我会在明天测试这些代码,看看他们是否解决了这个问题。 – ImGreg 2012-02-09 23:32:22
Server.HtmlDecode(string)似乎是最简单/最合理的解决方案。很好找! – ImGreg 2012-02-10 14:10:06