PHP money_格式不起作用

PHP money_格式不起作用,php,Php,我正在TurnkeyLinux上使用Laravel4,并试图以本地化的方式显示货币 money\u格式('%.2n',1222002.09)返回1222002.09 在app/strart/global.php中,我有app::setLocale(Session::get('locale','en'),这会使用Laravel的语言文件更改语言,但对货币没有影响 我发现,localeconv()输出一个几乎为空的数组(只设置了小数点)并使用setLocale(LC_ALL,'en_GB','en_

我正在TurnkeyLinux上使用Laravel4,并试图以本地化的方式显示货币

money\u格式('%.2n',1222002.09)
返回1222002.09

在app/strart/global.php中,我有
app::setLocale(Session::get('locale','en'),这会使用Laravel的语言文件更改语言,但对货币没有影响

我发现,
localeconv()
输出一个几乎为空的数组(只设置了小数点)并使用
setLocale(LC_ALL,'en_GB','en_GB')无效


我使用的是PHP5.4.4和Debian3.2.57。

明白了!感谢Dmitry Bezik为我指明了正确的方向

locale-a
返回:

  • C
  • C.UTF-8
  • POSIX
由于缺少GB(或US)地区,我不得不进行另一次搜索,结果发现 我

基本上我没有安装任何区域设置,因此我按照说明,通过执行以下操作安装了GB区域设置:

  • 使用WinSCP打开/etc/locale.gen并向下滚动已注释的区域设置列表,直到找到
    en_GB.UTF-8 UTF-8
    并删除前导“#”,如果文件为空,只需添加一个条目即可
  • 以root用户身份运行
    /usr/sbin/locale gen
    ,这使得系统“生成区域设置”(只需一秒钟)
  • 添加了
    setLocale(LC_ALL,'en_GB.utf8','en_GB')到我的刀片模板并刷新
  • 瞧!我现在拿到了1222002.09英镑
    然后,我将
    setLocale
    代码移动到我的app/start/global.php中,就在我设置语言后,它可以在每个请求上运行。

    也许您需要执行
    dpkg将locales
    重新配置为root,以便在我的debian上的服务器上启用正确的区域设置详细信息,我使用了以下命令:
    apt-get-install-locales
    和'apt-get-install-locales-all`来安装所有的区域设置,而不仅仅是一个特定的区域设置。