C#中的MySQL utf8_general_ci

时间:2010-06-28 22:06:36

标签: c# .net mysql unicode

是否有一种简单的方法可以在C#中复制MySQL utf_general_ci排序规则的行为?

特别是,给定一个Unicode字符串,我想生成一个(n ASCII?)字符串,然后可以按照utf_general_ci进行简单的排序或比较。

我找到了this question,其中显示了如何从字符串剥离重音符号,它看起来像一个类似但不完全等效的函数,例如,它不会分解ß进入ss

就我的目的而言,可能最终会变得足够好,但如果有办法完全复制其行为,我宁愿这样做。

1 个答案:

答案 0 :(得分:0)

查看SortKey class及其KeyData属性。

对于给定的排序规则(.NET术语中的CultureInfo)和字符串,您可以使用MyCultureInfo.CompareInfo.GetSortKey(mystring).KeyData

获得可自然排序的字节数组。

我认为.NET和MySQL的整理键不一定匹配,但两者都使用基于Unicode Collation algorithm的相同技术