Sorting Firebird UTF-8德语电话簿排序

Sorting Firebird UTF-8德语电话簿排序,sorting,utf-8,firebird,firebird2.5,Sorting,Utf 8,Firebird,Firebird2.5,服务器:Windows 2008 R2 x64和Firebird 2.5 x64 我需要一种排序方法,比如查询时的德语电话簿 选择名字,名字 发件人地址 按姓名、名字排序 因此,我希望: 姓名 阿塞曼,西蒙 埃里卡·阿曼 阿斯曼,弗兰克 阿斯特曼,曼弗雷德 黑客,西蒙 古斯塔夫哈克曼 哈克尔,埃米尔 海克,曼弗雷德 哈克尔,哈弗 哈弗曼,乌尔里希 在德语电话簿排序中,德语特殊字符按以下方式处理: Ä/ä=Ae/Ae Ö/ö=Oe/Oe Ü/ü=Ue/Ue ß=ss 其他特殊字符,如法语字符(

服务器:Windows 2008 R2 x64和Firebird 2.5 x64 我需要一种排序方法,比如查询时的德语电话簿

选择名字,名字 发件人地址 按姓名、名字排序

因此,我希望:

姓名

  • 阿塞曼,西蒙
  • 埃里卡·阿曼
  • 阿斯曼,弗兰克
  • 阿斯特曼,曼弗雷德
  • 黑客,西蒙
  • 古斯塔夫哈克曼
  • 哈克尔,埃米尔
  • 海克,曼弗雷德
  • 哈克尔,哈弗
  • 哈弗曼,乌尔里希
  • 在德语电话簿排序中,德语特殊字符按以下方式处理:

    • Ä/ä=Ae/Ae
    • Ö/ö=Oe/Oe
    • Ü/ü=Ue/Ue
    • ß=ss
    其他特殊字符,如法语字符(a,a…)的处理方式与普通字符(a,a…)相同


    我正在尝试将ICS*.dll从3.0版升级到5.0版或5.6版,但它不起作用。

    您当前在此列中使用的字符集和排序规则是什么?看起来像标签中所示的utf-8。@Booser是的,但没有指定使用的排序规则。默认情况下,Firebird下UTF-8可用的排序规则为UCS_BASIC、UNICODE、UNICODE_CI和UNICODE_CI_AI,它们都不提供特定于德语的排序。还有一个选项可以创建自定义/特定于区域设置的排序规则。整个数据库使用字符集UTF-8。事实上,我已经尝试了UNICODE排序规则,但它无法正常工作。这是因为UNICODE排序规则没有提供您想要的排序顺序。我刚刚尝试在Firebird 2.5.5上使用ICU5.6定义一个排序规则,但我遇到了各种有趣的问题,我最终让它工作了,但我似乎无法定义一个使用德语电话簿排序的排序规则。