问题已解决(见下文)
我已经在我的服务器上生成了语言环境,我已经确认它们存在(下面提供了我的语言环境-a ),但是当我使用:
setlocale(LC_TIME,'fr_FR');
or setlocale(LC_TIME,'fr_FR.utf8');
它坏了。
示例:
<?php
setlocale(LC_TIME,'fr_FR.utf8');
echo 'locale - '.setlocale(LC_TIME,'0');
echo ' : month - '.strftime('%B');
echo '<br />';
setlocale(LC_TIME,'fr_FR');
echo 'locale - '.setlocale(LC_TIME,'0');
echo ' : month - '.strftime('%B');
echo '<br />';
setlocale(LC_TIME,'fr-FR');
echo 'locale - '.setlocale(LC_TIME,'0');
echo ' : month - '.strftime('%B');
echo '<br />';
setlocale(LC_TIME,'fr');
echo 'locale - '.setlocale(LC_TIME,'0');
echo ' : month - '.strftime('%B');
echo '<br />';
setlocale(LC_TIME,'french');
echo 'locale - '.setlocale(LC_TIME,'0');
echo ' : month - '.strftime('%B');
echo '<br />';
?>
结果:
locale - C : month - October
locale - C : month - October
locale - C : month - October
locale - C : month - October
locale - C : month - October
语言环境-a (显示fr语言环境):
fr_BE.utf8
fr_CA.utf8
fr_CH.utf8
fr_FR.utf8
fr_LU.utf8
谢谢你的帮助!
发布于 2013-10-14 07:36:06
好了,在发布了这篇文章之后,我又尝试了一件事。因此,对于那些遇到相同问题的人,您需要在设置新的区域设置之前先进行设置:
setlocale(LC_TIME, "");
发布于 2015-01-10 22:35:00
在使用新安装的语言环境之前,您必须重新启动php。
发布于 2015-08-03 00:15:57
如果要在Apache2中使用系统默认区域设置,只需在/etc/apache2/envvars文件中添加(或取消注释)以下行:
. /etc/default/locale
考虑在此操作后重新启动apache2,并清除潜在的缓存以检查语言环境是否正确。
https://stackoverflow.com/questions/19351435
复制相似问题