为什么setlocale(LC_ALL, 'en_GB.UTF8');
在Windows Server 2003 R2上返回false – Zend CE PHP 5.3.5?
有问题的函数: setlocale
。
从PHP手册:
setlocale()
的返回值取决于PHP正在运行的系统。 它将返回系统setlocale函数返回的内容。
所以在你的情况下,它返回false,因为系统返回false。 您使用的语言环境可能不适用于您的系统。
Windows支持的setlocale
字符串列表可以在这里找到 。 对于英国英语,你想要eng
, english-uk
或者uk
。 Windows不支持像UTF-8这样的多字节字符集; 你可能会最终与Windows-1252。
我想补充一点,Windows不支持utf-8的问题可以通过如下方式来改进:
$str=strftime('%a'); //for example if(!mb_check_encoding($str,'utf-8')) $str=utf8_encode($str);