我在云平台上工作,服务器是 Apache。
在其中一个站点实例中,php 脚本 setlocale(LC_ALL, "en_GB.utf8"); 总是返回假。
当我执行 locale -a 时,可以在平台中找到这个 locale,“en_GB.utf8”。还注意到 , setlocale(LC_ALL, 0); 返回“C”。
这里 PHP/Apache 似乎不知道底层平台语言环境。有人可以建议我以防万一有什么问题吗?
在尝试之前LC_ALL
,尝试LC_TIME
。
setlocale(LC_TIME, "");
setlocale(LC_ALL, "en_GB.utf8")
看看有没有帮助...
您必须重新加载 apache 配置,以便 php/setlocale 识别新的语言环境。
我遇到了同样的问题(语言环境已安装并在平台上可用)但在我重新加载 apache 配置之前setlocale
确实返回了.false
service apache2 reload
setlocale(LC_ALL, NULL)
setlocale(LC_ALL, "en_GB.UTF-8")
……为我做的。