我在项目中使用strftime,我有一个奇怪的错误,设置语言环境并将其打印出来。代码如下:
<?php
date_default_timezone_set('Europe/Berlin');
setlocale(LC_ALL, "de_DE");
echo strftime("%A, den %d. %B %Y um %R", strtotime('2013-11-26 08:33:45'));
?>
输出如下:
Dienstag,den 26. November 2013 um 08:33
这是正确的,但是如果我刷新页面,我得到以下内容(20次中的一次)
星期二,2013年11月26日,08:33。
为什么语言会改变?你有什么想法吗?
更新
我使用上面的代码创建了一个文件。它工作正常。在我的项目中,我正在使用Code Igniter,我有
date_default_timezone_set('Europe/Berlin');
setlocale(LC_ALL, "de_DE");
在我的主文件夹中的index.php中。我在一个观点中回应这一点:
echo strftime("%A, den %d. %B %Y um %R", strtotime('2013-11-26 08:33:45'));
问题在于Code Igniter,是否存在缓存或某些东西,有时会将语言环境更改为英语?
答案 0 :(得分:0)
PHP建议从4.3.0开始,尝试所有这些可能的语言环境
setlocale(LC_ALL, 'de_DE@euro', 'de_DE', 'deu_deu');
其次,
注意:在Windows上,setlocale(LC_ALL,'')设置区域设置名称 系统的区域/语言设置(可通过控制面板访问)。