我正在尝试在 PHP 中使用 NumberFormatter 类,但我遇到了 ORDINAL 格式的问题。我尝试了其他几种格式都没有问题。但是当我使用 ORDINAL 时,我只会得到垃圾。选择不同的语言环境似乎给了我不同的垃圾。
$round = new NumberFormatter("en", NumberFormatter::ORDINAL);
echo $round->format(6);
我希望输出是“6th”,但我得到的是“6áµ—Ê°”。
我正在尝试在 PHP 中使用 NumberFormatter 类,但我遇到了 ORDINAL 格式的问题。我尝试了其他几种格式都没有问题。但是当我使用 ORDINAL 时,我只会得到垃圾。选择不同的语言环境似乎给了我不同的垃圾。
$round = new NumberFormatter("en", NumberFormatter::ORDINAL);
echo $round->format(6);
我希望输出是“6th”,但我得到的是“6áµ—Ê°”。
最后的“垃圾”是上标“th”符号的某种 Unicode 编码。上标字母有特殊符号(虽然不常用),NumberFormatter 正在使用它们。ICU中的相关规则文件是http://source.icu-project.org/repos/icu/icu/trunk/source/data/rbnf/en.txt。