3

我们的团队正计划将 SQL Server 数据库上的排序规则编码更新为 UTF-8。我们还计划更新我们的表模式以nvarchar()支持真正的 Unicode 字符。然而,我们试图确定的是,这样做会遇到哪些潜在的地雷?

例如,我们的查询会运行得更慢吗?数据库中的当前数据是否有可能损坏?

作为参考,SQL Server 被用作 PHP Web 应用程序的后端,该应用程序在 Linux 主机上的 Apache 上运行。

4

1 回答 1

2

请参阅NVARCHAR 上的 MSDN SQL Server 联机丛书- SQL Server 仅支持 UCS-2(每个字符 2 个字节 = UTF-16),但正如您所说,这是真正的 Unicode 。

另请参阅dba.stackexchange.com 上的此问题(及其答案)以获得更全面的解释和背景。

使用所有列的主要缺点nvarchar是,这只是普通的使用两倍的存储空间varchar- 所有字符都存储为 2 个字节。除此之外-我没有看到使用nvarchar而不是varchar...的任何大问题

于 2013-03-07T17:13:58.120 回答