PHP money_format(); £不是英镑

Max*_*ins 16 php money-format

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

目前我正在使用

setlocale(LC_MONETARY, 'en_GB');
money_format('%i', 1000);
Run Code Online (Sandbox Code Playgroud)

哪个给我输出

GBP1,000
Run Code Online (Sandbox Code Playgroud)

但我想要

£1,000
Run Code Online (Sandbox Code Playgroud)

我已经查看了PHP手册,但它没有用.

有任何想法吗?

Die*_*ino 22

这对我有用:

setlocale(LC_MONETARY, 'en_GB.UTF-8');
money_format('%n', 1000);
Run Code Online (Sandbox Code Playgroud)

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

$ locale -a | grep "en_GB"
en_GB.utf8
Run Code Online (Sandbox Code Playgroud)

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


SER*_*PRO 20

你试过这个吗?

setlocale(LC_MONETARY, 'en_GB');
utf8_encode(money_format('%n', 1000));
Run Code Online (Sandbox Code Playgroud)

  • 只需添加utf8_encode(money_format('%n',1000)); 你会看到符号...... :) (6认同)