SQL 服务器排序规则 -- 最接近 utf-8?
SQL Server collation -- closest to utf-8?
我似乎找不到将数据库的默认排序规则设置为 utf
(ish) 的方法。例如:
例如,在 mysql 中,默认的 utf 排序规则称为 utf8_general_ci
。 SQL 服务器有类似的东西吗?另外,它默认使用 Latin1
是什么?
根据 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.
如果您要从旧版本迁移现有数据库,我认为需要格外小心以确保正确处理归类转换。排序的变化可能会产生副作用。此外,现有 table 定义将使用其原始排序规则。如果创建默认使用新排序规则的新 tables,这可能是个问题。
我似乎找不到将数据库的默认排序规则设置为 utf
(ish) 的方法。例如:
例如,在 mysql 中,默认的 utf 排序规则称为 utf8_general_ci
。 SQL 服务器有类似的东西吗?另外,它默认使用 Latin1
是什么?
根据 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.
如果您要从旧版本迁移现有数据库,我认为需要格外小心以确保正确处理归类转换。排序的变化可能会产生副作用。此外,现有 table 定义将使用其原始排序规则。如果创建默认使用新排序规则的新 tables,这可能是个问题。