【问题标题】:Change encoding (collation?) of SQL Server 2008 R2 to UTF-8将 SQL Server 2008 R2 的编码(排序规则?)更改为 UTF-8
【发布时间】:2012-11-11 19:25:56
【问题描述】:

我们希望将 Confluence 系统迁移到 SQL Server 2008 R2。现在,由于 Confluence 使用 UTF-8 编码,我需要一个使用相同编码的数据库(我猜这是排序规则?)。

命令来了

alter database confluence set collation COLLATION_NAME

现在,似乎没有 utf-8,而且我发现 SQL Server 使用基本相同的 ucs-2。但我不知道 ucs-2 的排序规则名称是什么?有人知道吗?

编辑:我现在确实看到了编码和整理之间的区别。 Confluence documentation 建议我应该创建一个依赖于 UCS-2 的模式(因为 MS SQL 缺少对 UTF-8 的支持)。我查看了 Managment Studio,并在数据库的 Security 目录中找到了模式条目。但是,我不知道如何将 UCS-2 编码分配给架构。我必须在 Managment Studio 中实现这一点(或者我应该使用哪个查询)?

【问题讨论】:

  • 查看this other SO question - encoding = 你有什么字符以及它们是如何表示的 vs. collat​​ion = 字符是如何排序和排序的.以及为什么选择任何排序规则,您可以将 Unicode 存储在 nchar() / nvarchar() 列中,而 char() / varchar() 存储非 Unicode 字符
  • dba.stackexchange.com/questions/7303/… - 在这里我解释了我发现的关于排序规则在多语言数据库和 UTF-8 / Unicode 支持中的作用。

标签: utf-8 sql-server-2008-r2 collation ucs2


【解决方案1】:

根据合流文档,您应该将排序规则设置为 SQL_Latin1_General_CP1_CS_AS

我们已按照此文档进行操作,并在 SQL Server 2008 R2 上成功部署了 Confluence:

Database Setup for SQL Server

【讨论】:

    猜你喜欢
    • 2011-09-28
    • 1970-01-01
    • 2011-11-17
    • 2021-02-16
    • 2011-05-05
    • 2015-07-28
    • 2010-11-10
    • 2016-01-04
    • 1970-01-01
    相关资源
    最近更新 更多