首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PHP setlocale即使与已存在的区域设置一起使用也不起作用

PHP setlocale即使与已存在的区域设置一起使用也不起作用
EN

Stack Overflow用户
提问于 2013-10-14 07:17:27
回答 3查看 18.8K关注 0票数 11

问题已解决(见下文)

我已经在我的服务器上生成了语言环境,我已经确认它们存在(下面提供了我的语言环境-a ),但是当我使用:

代码语言:javascript
复制
    setlocale(LC_TIME,'fr_FR');
    or setlocale(LC_TIME,'fr_FR.utf8');

它坏了。

示例:

代码语言:javascript
复制
    <?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 />';
    ?>

结果:

代码语言:javascript
复制
    locale - C : month - October
    locale - C : month - October
    locale - C : month - October
    locale - C : month - October
    locale - C : month - October

语言环境-a (显示fr语言环境):

代码语言:javascript
复制
    fr_BE.utf8
    fr_CA.utf8
    fr_CH.utf8
    fr_FR.utf8
    fr_LU.utf8

谢谢你的帮助!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-10-14 07:36:06

好了,在发布了这篇文章之后,我又尝试了一件事。因此,对于那些遇到相同问题的人,您需要在设置新的区域设置之前先进行设置:

代码语言:javascript
复制
setlocale(LC_TIME, "");
票数 12
EN

Stack Overflow用户

发布于 2015-01-10 22:35:00

在使用新安装的语言环境之前,您必须重新启动php。

票数 4
EN

Stack Overflow用户

发布于 2015-08-03 00:15:57

如果要在Apache2中使用系统默认区域设置,只需在/etc/apache2/envvars文件中添加(或取消注释)以下行:

代码语言:javascript
复制
. /etc/default/locale

考虑在此操作后重新启动apache2,并清除潜在的缓存以检查语言环境是否正确。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19351435

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档