NumberFormatter :: formatCurrency не показывает символ валюты

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

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

На моем Windows dev box и Centos UAT box это выводит желаемый £ 395.

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

Есть идеи, чего не хватает? Я проверил расширение intl включено.

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

локаль -а

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

2

Решение

Может быть en_GB не является допустимым языковым стандартом в вашей системе. Пытаться en_GB.UTF-8 или же en_GB.ISO-8559-1 F.E.

0

Другие решения

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

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

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

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

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

0

По вопросам рекламы [email protected]