【问题标题】:What SQL collation should I use to store multi-language character?我应该使用什么 SQL 排序规则来存储多语言字符?
【发布时间】:2018-06-30 07:00:29
【问题描述】:

我有一个数据库,我的用户来自世界各地,因此我应该以任何语言类型存储输入。

默认情况下,我的 SQL 排序规则是 SQL_Latin1_General_CP1_CA_AS,但此排序规则无法存储俄语。

我应该使用什么 SQL 排序规则来存储任何语言类型,例如日语、波斯语、英语、俄语和 ....?

【问题讨论】:

  • 是什么让您认为您不能在该排序规则中使用俄语? (PS是整理,不是收藏)
  • 我保存了一个并查看我的表,我看到它已转换为“????????”
  • 你的表有什么数据类型?我猜是VARCHAR 而不是NVARCHAR
  • varchar(50),你的意思是我应该使用 nvarchar(50)?
  • 是的,没错

标签: sql-server collation multilingual


【解决方案1】:

问题不在于您使用的排序规则,而在于您用于存储文本的数据类型。

当您应该使用 NVARCHAR 时,您的表正在使用 VARCHAR 类型。例如:

CREATE TABLE MyTable
(
    SomeColumn VARCHAR(50)
)

应该是:

CREATE TABLE MyTable
(
    SomeColumn NVARCHAR(50)
)

有关差异的更多信息,请参阅here

【讨论】:

    猜你喜欢
    • 2017-05-17
    • 2011-12-15
    • 2016-12-06
    • 2013-09-26
    • 2010-10-03
    • 2019-12-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多