NumberFormatter :: ORDINAL给我垃圾

时间:2011-02-20 05:22:14

标签: php unicode icu ordinal numberformatter

我正在尝试在PHP中使用NumberFormatter类,我遇到了ORDINAL格式的问题。我已经尝试了其他几种格式没有问题。但是当我使用ORDINAL时,我只是得到了垃圾。选择不同的语言环境似乎给了我不同的垃圾。

$round = new NumberFormatter("en", NumberFormatter::ORDINAL);
echo $round->format(6);

我希望输出为“第6”,但我会得到“6áμ-Ê°”。

1 个答案:

答案 0 :(得分:2)

最后的“垃圾”是上标“th”符号的一些Unicode编码。上标字母有特殊符号(虽然它们不常用),而NumberFormatter正在使用它们。 ICU中的相关规则文件为http://source.icu-project.org/repos/icu/icu/trunk/source/data/rbnf/en.txt