Из руководства по PHP:
Возвращаемое значение setlocale()
зависит от системы, в которой работает PHP.Он возвращает именно то, что возвращает системная setlocale функция.
Так что в вашем случае он возвращает false, потому что система возвращает false.Вероятно, используемый вами языковой стандарт недоступен в вашей системе.
Список setlocale
строк, поддерживаемых Windows, доступен здесь .Для британского английского вы хотите eng
, english-uk
или uk
.Windows не поддерживает многобайтовые наборы символов, такие как UTF-8;вы, вероятно, в конечном итоге с Windows-1252.