У меня проблема с текущим проектом, над которым я работаю, и мне нужна помощь:
strtoupper()
, mb_strtoupper()
и т.д. не работаютsetlocale(LC_ALL, "rus");
или же setlocale(LC_ALL, "Russian_Russia.1251");
а для других (не знаю для всех остальных или нет) setlocale(LC_ALL, 'ru_RU');
НО все методы обнаружения ОС я нашел использует strupper()
/strtolower()
обнаружить ОС … Так что теперь я в некотором замешательстве. Что я должен делать. Как обнаружить ОС …
Кстати, производительность имеет решающее значение, и если кто-то знает хороший и быстрый способ определения ОС или установки правильной локали, это будет здорово!
setlocale
поддерживает передачу нескольких локалей, он выберет первый из доступных. Так:
setlocale(LC_ALL, 'rus', 'Russian_Russia.1251', 'ru_RU');
Это работает кроссплатформенно.
phpinfo()
это путь. Это дает вам все, что вам нужно.
Это не твой путь. Все просто
setlocale(LC_ALL, 'ru_RU.CP1251', 'rus_RUS.CP1251', 'Russian_Russia.1251');
// ru_RU.CP1251 for FreeBSD
// rus_RUS.CP1251 for Linux
// Russian_Russia.1251 for Windows
PHP_OS
Постоянный это то, что вы ищете — документы
Но какие методы вы на самом деле смотрели на себя, и что с ними не так?