西欧语言非unicode数据的sql整理排序

Posted

技术标签:

【中文标题】西欧语言非unicode数据的sql整理排序【英文标题】:sql collation sorting of nonunicode data for western European languages 【发布时间】:2017-03-05 18:02:59 【问题描述】:

我使用默认排序规则运行 SQL Server 2014,即SQL_Latin1_General_CP1_CI_AS

计划支持西欧语言,如德语、法语、意大利语、葡萄牙语、西班牙语和英语。

数据库具有非 unicode 形式的字符串数据,即varchar

我需要帮助来了解所列语言的排序是否可以在默认排序规则下正常工作,或者我会遇到什么样的问题?

【问题讨论】:

可能重复... ***.com/questions/2310439/sql-server-collation ---- ***.com/questions/5039211/… --- ***.com/questions/4538732/what-does-collation-mean 谢谢。下面有很大帮助 排序规则定义了如何对字符串值进行排序和比较 例如,它定义了如何处理重音(äàa 等)大小写(Aa)的语言上下文: 在法语排序规则中,cote ***.com/questions/4538732/what-does-collation-mean 【参考方案1】:

该链接非常有帮助 What does collation mean? 。谢谢@ahmed abdelqader

复制其中的一部分: 排序规则定义了如何对字符串值进行排序和比较

例如,它定义了如何处理

重音(äàa 等) 案例(Aa)

语言环境:

在法语排序规则中,cote

在 SQL Server Latin1 默认中,cote

很少有西欧语言会使用默认排序规则正确存储和排序。必须对法语、西班牙语、德语电话簿进行特殊排序(SQL 级别 - 更改排序规则或代码级别 - C# 文化) 所需排序规则列表可在以下位置查看: https://technet.microsoft.com/en-us/library/cc835499(v=sql.110).aspx

【讨论】:

以上是关于西欧语言非unicode数据的sql整理排序的主要内容,如果未能解决你的问题,请参考以下文章

从 SQLite 数据库中读取非 Unicode、非英文文本

sqlserver支持的字符集都有哪些

如何比较包含非英文字符的 unicode 字符串以按字母顺序排序?

SQL Server 与 MySQL 的 unicode_ci 排序规则的类似物是啥?

Android 联系人:不正确的本地化整理/排序

在SQL数据类型中,Unicode数据类型和非Unicode数据类型具体有啥区别?