【问题标题】:How to design/configure a database to support multiple character sets?如何设计/配置数据库以支持多个字符集?
【发布时间】:2015-06-07 14:33:50
【问题描述】:

目前处于起步阶段。目前,我有一个SQL Server 数据库,它使用collationSQL_Latin1_General_CP1_CI_AS。据我了解,作品中需要支持多种语言,特别是西班牙语、法语、葡萄牙语,也许还有意大利语。荷兰语和德语是可能的。汉语和日语等东亚语言也有可能。

数据库平台可以是 SQL Server 2008、SQL Server 2012 或 SQL Server 2014。

这似乎是一项艰巨的任务,我不知道从哪里开始或如何开始。如何设计支持multiple character sets的数据库?

例子:

  • 数据库名称:Foobar
  • Foobar 中的表:dbo.Foo、dbo.Bar

dbo.Foo 是否可以支持上面列出的所有这些语言,或者我必须为每个 collation 提供不同的架构? (即 Eng.Foo、Jp.Foo、Fr.Foo)如果是后者,这意味着我将拥有多个列名相同但数据不同的表。

关于从哪里开始这项任务有什么建议吗?

谢谢。

【问题讨论】:

    标签: sql sql-server character-encoding multilingual collation


    【解决方案1】:

    从一开始就使用 UTF-16 排序规则。 UTF-16 专为此目的而设计。

    更详细的信息,我推荐this article (second half) 和this page from the MSDN documentation

    【讨论】:

    • 非常感谢您提供这些资源。但是,我没有看到任何明确说明 UTF-16 支持亚洲语言的资源。
    • 它隐含在来自维基百科UTF-16 (16-bit Unicode Transformation Format) is a character encoding capable of encoding all 1,112,064 possible characters in Unicode.的句子中。我知道 CJK(这是您应该在谷歌上搜索的关键字,它代表中文日文韩文)支持工作,因为我们在三年前的 C# 应用程序中测试了它以及其他脚本(我的母语是希伯来语,也有问题)。
    • 这是最有希望且非常有帮助的。我不需要为希伯来语编码,但我熟悉这种语言..תודה רבה לך על העזרה שלך!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-22
    • 2017-12-23
    • 1970-01-01
    • 2011-06-07
    • 2015-09-14
    相关资源
    最近更新 更多