我有一个包含VarChar(50)
列的SQL Server数据库。我在这个应用程序中使用ASP.NET/C#。
我已经保护我的程序免受SQL注入,因此当我插入任何带有撇号的文本时,它将正确插入。我在数据库中证实了这一点。
但是,现在当我在数据库中查询此varchar
列时,而不是在列中获取撇号,我得到它的unicode版本(')。
我使用SqlDataSource
并将其绑定到DataGridView。什么可能导致这种转换?我怎么能避免它?
编辑:
似乎此问题仅发生在文本框中,标签似乎正在正确显示它们。
感谢您的帮助。这个社区很棒!
答案 0 :(得分:2)
修复数据库中的数据:Replace the ascii apostrophe with a real apostrophe in a sql database
如何正确插入: How to insert a value that contains an apostrophe (single quote)?
- 编辑 -
这个主题似乎在这个问题上有了更多的启示:http://forums.asp.net/p/1554455/3818604.aspx
您还可以通过http://msdn.microsoft.com/en-us/library/system.web.httpserverutility.htmldecode.aspx
尝试HtmlDecode(string)
方法