【发布时间】:2012-11-14 07:25:00
【问题描述】:
我有一个包含法语单词的数组:['États-Unis', 'Espagne', etc] 我想根据其语言环境 (fr_FR) 按字母顺序排序
我正在使用以下代码:
$collator = new Collator('fr-FR');
echo $collator->getErrorMessage();
$collator->asort($array);
但我收到错误 U_USING_DEFAULT_WARNING 我假设正在使用英语或其他语言环境。更重要的是,数组没有正确排序(美国出现在西班牙之前,我预计会发生相反的情况)
我已经安装了 intl 包,我的系统有相应的语言环境(Ubuntu)
$locale -a
C
C.UTF-8
en_US.utf8
es_ES.utf8
fr_FR
fr_FR.iso88591
fr_FR.utf8
POSIX
我在构造Collation对象的时候尝试了不同的组合,没有任何好的结果:“fr-FR”、“fr-FR.UTF8”等
我还有什么遗漏的吗?
【问题讨论】:
-
嗯,你试过
fr_FR,对吧? -
是的,我也尝试过,但没有成功。顺便说一句,我之前没有设置任何语言环境,我只是使用这个整理器类。我认为这不需要工作,对吧?
-
不应该。您可以测试 collator_create() 是否会产生任何影响,或检查
Collator::FRENCH_COLLATION。 -
是的,我做的最后一件事是更改为 Collator::create() 结果相同。
标签: php localization locale collation