【问题标题】:SQL Server collation -- closest to utf-8?SQL Server 排序规则——最接近 utf-8?
【发布时间】:2021-02-16 14:13:40
【问题描述】:

我似乎找不到将数据库的默认排序规则设置为utf(ish) 的方法。例如:

例如,在 mysql 中,默认的 utf 排序规则称为 utf8_general_ci。 SQL Server 有类似的东西吗?另外,它默认使用Latin1是什么?

【问题讨论】:

  • SQL Server 也支持 UTF-8;前提是您使用的是最新版本。如果需要 UTF-8 支持,则需要使用 SQL Server 2019。
  • @Larnu 我如何查看版本?我正在 azure 中创建“SQL 数据库”:portal.azure.com/#create/Microsoft.SQLDatabase
  • Azure SQL 数据库和 Azure 中的 SQL Server 都支持 UTF-8 排序规则。一个示例排序规则是Latin1_General_100_CI_AI_SC_UTF8
  • @Larnu 我明白了——谢谢。那么一开始的整个“latin1”是什么?
  • 拉丁字符。你知道,我们正在使用的那些现在。 ??????

标签: sql-server collation


【解决方案1】:

根据https://docs.microsoft.com/en-us/sql/relational-databases/collations/collation-and-unicode-support?view=sql-server-ver15#utf8,您将“_UTF8”添加到排序规则名称以启用UTF8。 (需要 SQL Server 2019。)给出的示例是将 LATIN1_GENERAL_100_CI_AS_SC 更改为 LATIN1_GENERAL_100_CI_AS_SC_UTF8。

如果您要从旧版本迁移现有数据库,我认为需要格外小心以确保正确处理排序规则转换。排序的变化可能会产生副作用。此外,现有表定义将使用其原始排序规则。如果创建默认使用新排序规则的新表,这可能是一个问题。

【讨论】:

    猜你喜欢
    • 2011-09-28
    • 2015-07-28
    • 1970-01-01
    • 2012-11-11
    • 2012-09-12
    • 1970-01-01
    • 2012-09-14
    • 2011-12-08
    • 2011-05-05
    相关资源
    最近更新 更多