【发布时间】:2009-09-23 22:01:05
【问题描述】:
我遇到了一个问题,用户在 MS Word 中编写一些大块文本,然后将其粘贴到在线表单中。这些以颠倒的形式进入数据库?我有哪些选择可以用标准引号替换这些?
【问题讨论】:
标签: c# asp.net smart-quotes
我遇到了一个问题,用户在 MS Word 中编写一些大块文本,然后将其粘贴到在线表单中。这些以颠倒的形式进入数据库?我有哪些选择可以用标准引号替换这些?
【问题讨论】:
标签: c# asp.net smart-quotes
这些智能引号是一个 unicode 点。您只需要一个简单的 String.Replace 即可对它们进行排序。
-edit- 类似:
mystring.Replace("\u201C","\"").Replace("\u201D","\"")
【讨论】:
我有哪些选择可以用标准引号替换这些?
最好的方法是不要替换它们。人们想使用“智能引号”,让他们来吧。它们不是仅存在于 MS Word 中的异常,它们是完全有效的 Unicode 字符,如果您的应用程序没有正确存储非 ASCII 字符,那么除了智能引号之外,还有很多问题会出错。
对所有网页使用 UTF-8 编码,并将内容存储在支持 Unicode 的数据库中(例如,如果您使用 SQL Server,请使用 NVARCHAR),您不仅支持智能引号,还支持重音符号和其他字母。
【讨论】:
您应该通过HtmlEncode 方法运行输入,该方法将从“或”转换为“ 和”,允许您将这些和其他更高的字符保存为可以轻松保存的格式。
我还应该再次提及乔尔的帖子吗?
【讨论】: