0

我有一个问题,用户在 MS Word 中编写一些大块文本,然后将其粘贴到在线表单中。这些以颠倒的形式进入数据库?我有哪些选择可以用标准报价替换这些?

4

3 回答 3

4

这些智能引号是一个 unicode 点。您所需要的只是一个简单的 String.Replace 来对它们进行排序。

-edit- 类似的东西:

mystring.Replace("\u201C","\"").Replace("\u201D","\"")
于 2009-09-23T22:57:20.670 回答
2

我有哪些选择可以用标准报价替换这些?

最好的方法是不要替换它们。人们想使用“智能引号”,让他们来吧。它们不是只存在于 MS Word 中的异常,它们是完全有效的 Unicode 字符,如果您的应用程序没有正确存储非 ASCII 字符,那么除了智能引号之外,还有更多错误。

对所有网页使用 UTF-8 编码,并将内容存储在支持 Unicode 的数据库中(例如,如果您使用 SQL Server,请使用 NVARCHAR),您不仅支持智能引号,还支持重音符号和其他字母。

于 2009-09-23T23:28:08.807 回答
0

您应该通过HtmlEncode方法运行输入,该方法将从“或”转换为“”,允许您将这些和其他更高的字符保存为可以轻松保存的格式。

我还应该再次提及乔尔的帖子吗?

每个软件开发人员绝对、绝对必须了解 Unicode 和字符集的绝对最低要求(没有借口!)

于 2009-09-23T23:56:11.497 回答