4

我在云平台上工作,服务器是 Apache。

在其中一个站点实例中,php 脚本 setlocale(LC_ALL, "en_GB.utf8"); 总是返回假。

当我执行 locale -a 时,可以在平台中找到这个 locale,“en_GB.utf8”。还注意到 , setlocale(LC_ALL, 0); 返回“C”。

这里 PHP/Apache 似乎不知道底层平台语言环境。有人可以建议我以防万一有什么问题吗?

4

3 回答 3

2

在尝试之前LC_ALL,尝试LC_TIME

setlocale(LC_TIME, "");
setlocale(LC_ALL, "en_GB.utf8")

看看有没有帮助...

于 2013-11-13T11:34:59.803 回答
2

您必须重新加载 apache 配置,以便 php/setlocale 识别新的语言环境。

我遇到了同样的问题(语言环境已安装并在平台上可用)但在我重新加载 apache 配置之前setlocale确实返回了.falseservice apache2 reload

于 2015-09-14T11:01:37.543 回答
0
setlocale(LC_ALL, NULL)
setlocale(LC_ALL, "en_GB.UTF-8")

……为我做的。

于 2015-03-16T23:11:53.317 回答