我遇到的问题是,当我在我的字符串数组上调用sort()时,除了法语字符串外,它按字母顺序排列很好。
它会像这样排序:
Atlantic Inc.
Bait Inc.
Zack's Fish Mart
Émile Fisheries Inc.
如何正确对两种语言进行排序?
答案 0 :(得分:1)
这是正确排序的。 “É”位于默认语言环境中的“Z”之后。
要更改此行为,请将sort()
的第二个参数设置为“SORT_LOCALE_STRING”,并将系统的区域设置更改为支持所需排序的区域设置。
答案 1 :(得分:1)
排序规则高度依赖于语言环境。 您可以使用SORT_LOCALE_STRING标志强制使用区域设置:
setlocale("LC_ALL", "fr_FR.utf8");
sort($arraytobesorted, SORT_LOCALE_STRING);