PHP money_格式不起作用
我正在TurnkeyLinux上使用Laravel4,并试图以本地化的方式显示货币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_
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`来安装所有的区域设置,而不仅仅是一个特定的区域设置。