将 SQL Server 2008 R2 的编码(校对?)更改为 UTF-8

8
我们希望将我们的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中应该如何实现这一点(或者我应该使用哪个查询)?

3
请查看此Stack Overflow问题 - 编码 = 拥有哪些字符以及它们如何表示,而排序规则(collation) = 字符如何排序和分类。无论选择哪种排序规则,您都可以将Unicode存储在nchar() / nvarchar()列中,而char() / varchar()只能存储非Unicode字符。 - marc_s
在这里,我解释了多语言数据库和UTF-8 / Unicode支持中排序规则的作用。 - Rafael Emshoff
1个回答

4

根据Confluence文档,您应将排序规则设置为SQL_Latin1_General_CP1_CS_AS。

我们遵循了这份文档,并在SQL Server 2008 R2上成功部署了Confluence:

SQL Server的数据库设置


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接