PHP: setlocale в Windows 7

У меня проблема с функцией setlocale в PHP 5.3 в Windows 7.

Мне нужно установить русский язык с кодировкой UTF-8. Я видел некоторые решения, где это Russian_Russia.65001, но функция с этим типом локали возвращает FALSE.

Все решения были разработаны для использования в Windows XP, где список локалей был в панели управления. В Windows 7 эта функция была удалена.

Related of "PHP: setlocale в Windows 7"

Невозможно использовать локали UTF-8 в системах Windows. :

Если вы предоставите кодовую страницу, такую ​​как UTF-7 или UTF-8, setlocale завершится с ошибкой, возвращая NULL.

Будет работать только код окна Windows Russian_Russia.1251 (см . Таблицу локалей Moodle ).

Вы все еще можете попробовать установить оба и посмотреть, какой из них идет:

 if ($newLocale = setLocale(LC_CTYPE, 'ru_RU.UTF-8', 'Russian_Russia.1251')) { echo 'Locale is now set to: ' . $newLocale; } 

Это работало для меня в Windows 7

 putenv('LANG=fr_CA.UTF-8'); setlocale(LC_ALL,'fr_CA.UTF-8'); bindtextdomain('translation','./language'); bind_textdomain_codeset('translation','UTF-8'); textdomain('translation'); 

Путь к файлам .po / .mo

 ./language -> fr_CA.UTF-8 -> LC_MESSAGES -> translation.po ./language -> fr_CA.UTF-8 -> LC_MESSAGES -> translation.mo