PHP money_format();£ 符号不是英镑

2022-08-30 22:57:19

我无法弄清楚如何获取货币符号?

目前我正在使用

setlocale(LC_MONETARY, 'en_GB');
money_format('%i', 1000);

这给了我输出

GBP1,000

但我想要

£1,000

我已经查看了PHP手册,但它并没有那么有用。

有什么想法吗?


答案 1

你试过这个吗?

setlocale(LC_MONETARY, 'en_GB');
utf8_encode(money_format('%n', 1000));

答案 2

这对我有用:

setlocale(LC_MONETARY, 'en_GB.UTF-8');
money_format('%n', 1000);

它类似于所选的解决方案,但它对我不起作用。为什么?原因是在我的系统中没有定义语言环境,只有:en_GBen_GB.UTF-8

$ locale -a | grep "en_GB"
en_GB.utf8

此外,通过直接使用 UTF-8 代码集,可以保存额外的调用。utf8_encode


推荐