我想设置正确的区域设置,以便接收日期和时间的正确翻译。
我试过了:
$locale = setlocale (LC_ALL, 'de_DE@euro', 'de_DE', 'de', 'ge');
但这不起作用。我已经用谷歌搜索了,我发现的东西对我的情况没有帮助。我尝试将LC_ALL
更改为LC_TIME
,但它没有效果。
如果我在shell中执行locale -a
,我会收到:
C C.UTF-8 POSIX de_DE.utf8
我还看了/etc/default/locale
LANG = “de_DE.UTF-8”
在php.ini中,时区也设置为Europe/Berlin
那么我做错了什么?在使用EasyPhp的本地机器上,它可以正常工作。
为了获得本地化的下个月,我使用strftime
:
$nextMonth = explode(" ", strftime( '%m %B %Y', strtotime( '+1 month', $date ) ));
而不是
Juni
我总是收到
六月
我也尝试过其他语言,但没有区别。
如果重要,我会使用php7.1。
编辑: 我已经找到了这篇文章PHP setlocale has no effect,但没有任何对我有用。
答案 0 :(得分:1)
对于国际化/ Unicode我建议使用Intl扩展,它具有完整的Unicode支持和非常完整的日历IntlCalendar。