2015-04-30 6 views
1

Я использую NumberFormatter :: formatCurrency для отображения форматированных значений валюты, например:NumberFormatter :: formatCurrency не показывает символ валюты

$value = 395; 
$fmt = numfmt_create('en_GB', NumberFormatter::CURRENCY); 
echo numfmt_format_currency($fmt, $value, 'gbp'); 

На мой Dev окне Windows, и Centos UAT окно, это выводит желаемое £ 395.

Но на коробке Centos производства он выводит gbp395.

Любая идея, что не хватает? Я проверил, что расширение intl включено.

Возможно, что-то не так с моими языковыми файлами? Когда я печатаю

локаль -a

в командной строке, я получаю длинный список локалей, из которых en_GB является один.

ответ

0

Возможно, en_GB недействителен в вашей системе. Попробуйте en_GB.UTF-8 или en_GB.ISO-8559-1 f.e.

+0

Я попробовал эти тоже, никаких улучшений. – charliefortune

0

NumberFormatter класс неверны и GBP должна быть в столице, как так: 'GBP'

Попробуйте это:

$value = 395; 
$currencyFormat = new NumberFormatter('en_GB', NumberFormatter::CURRENCY); 

echo $currencyFormat->formatCurrency($value, 'GBP'); 

Это сделает £395.00

Смежные вопросы