根据 php.net 上的信息,关于 windows 上的 setlocale 的问题和问题
Question and a problem about setlocale on windows according to information on php.net
只是关于我在 php.net 上找到的有关 setlocale 的一些信息的问题
http://php.net/manual/en/function.setlocale.php
它说:
Note:
On Windows, setlocale(LC_ALL, '') sets the locale names from the system's regional/language settings (accessible via Control Panel).
这是否意味着如果我将 setlocale(LC_ALL, '') 添加到我的 php,它应该与我的系统相同?因为我已经做到了而且它仍然是英语几个月。
当我回显 setlocale(LC_ALL, 0) 我得到这个:
LC_COLLATE=C;LC_CTYPE=Norwegian (Bokm�l)_Norway.1252;LC_MONETARY=C;LC_NUMERIC=C;LC_TIME=C
当我回显 setlocale(LC_ALL, '') 我得到这个:
Norwegian (Bokm�l)_Norway.1252
所以我真的不知道从回声中该怎么做,它看起来像是设置为挪威语,当我使用 setlocale(LC_ALL, '') 时,我还应该将所有内容都设置为挪威语,包括时间,但事实并非如此。
这也是我用来更改时间格式的代码。
date('d.F', strtotime($row['date2']))
解决方案:使用strftime()
代替strtotime()
。
strtotime
不考虑设置的语言环境。
之前:
date('d.F', strtotime($row['date2']))
Output: 17.February
之后:
setlocale(LC_ALL, '');
strftime('%e.%B',strtotime($row['date2']))
Output: 17.februar
只是关于我在 php.net 上找到的有关 setlocale 的一些信息的问题 http://php.net/manual/en/function.setlocale.php
它说:
Note:
On Windows, setlocale(LC_ALL, '') sets the locale names from the system's regional/language settings (accessible via Control Panel).
这是否意味着如果我将 setlocale(LC_ALL, '') 添加到我的 php,它应该与我的系统相同?因为我已经做到了而且它仍然是英语几个月。
当我回显 setlocale(LC_ALL, 0) 我得到这个:
LC_COLLATE=C;LC_CTYPE=Norwegian (Bokm�l)_Norway.1252;LC_MONETARY=C;LC_NUMERIC=C;LC_TIME=C
当我回显 setlocale(LC_ALL, '') 我得到这个:
Norwegian (Bokm�l)_Norway.1252
所以我真的不知道从回声中该怎么做,它看起来像是设置为挪威语,当我使用 setlocale(LC_ALL, '') 时,我还应该将所有内容都设置为挪威语,包括时间,但事实并非如此。
这也是我用来更改时间格式的代码。
date('d.F', strtotime($row['date2']))
解决方案:使用strftime()
代替strtotime()
。
strtotime
不考虑设置的语言环境。
之前:
date('d.F', strtotime($row['date2']))
Output: 17.February
之后:
setlocale(LC_ALL, '');
strftime('%e.%B',strtotime($row['date2']))
Output: 17.februar