【问题标题】:How does setlocale() work on Windows?setlocale() 如何在 Windows 上工作?
【发布时间】:2014-11-10 14:04:56
【问题描述】:

开发多语言应用程序我想输出区域设置正确的数字和日期。在 Win7 上测试我都失败了:

setlocale(LC_ALL, 'de_DE@euro', 'de_DE', 'deu', 'de', 'ge', 'German_Germany.1251');
var_dump(localeconv());

显示十进制字符是 .但应该是 , 对于德语。

$f = 3.14;
echo($f);

确认 3.14 作为输出。

无论我尝试设置区域设置,我都没有成功。类似的结果适用于number_format()。但是它确实适用于日期,例如月份名称。

在 Windows/CLI 上setlocale() 的正确方法是什么?

【问题讨论】:

标签: php locale


【解决方案1】:

似乎这是自 5.3 以来 PHP 的一个已知问题:https://bugs.php.net/bug.php?id=65230

应尽可能避免setlocale(),而应使用NumberFormatter

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-18
    • 1970-01-01
    • 2022-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多