2

我正在使用 SQL Server 2008 并将表中的列设置为 nvarchar。带有特殊字符的数据被错误地存储在此表中。例如:这是一个条目

需要检查是否没有像它本身那样来,也不像它本身那样来,并确保关闭问题。

垃圾 - 实际上应该是撇号 (')。我检查了我的排序规则字符串。在数据库级别是 SQL_Latin1_General_CP850_BIN2,在服务器级别是 SQL_Latin1_General_CP1_CI_AS。

我确定我的应用程序中其他任何地方的编码集都是 UTF-8。

如何将数据正确存储在我的表中?我是否需要更改我的 SQL 查询或数据库中的任何设置?

请指教。

4

1 回答 1

1

你需要确保你正在观察两件事:

  1. 始终NVARCHAR用作列的数据类型

  2. N'....'在处理字符串文字时(例如在您的INSERTorUPDATE语句中)始终确保使用前缀

有了这两件事,SQL Server 就可以毫无困难地存储您可能扔给它的所有 Unicode 字符......

于 2012-05-09T08:53:14.390 回答