Что делает set_locale (LC_CTYPE, 'C'); на самом деле?

Когда мой PHP-скрипт выполняется с кодировкой UTF-8 , с использованием символов, отличных от ascii, некоторые функции PHP, такие как strtolower () не работает. Я мог бы использовать mb_strtolower, но этот сценарий можно запускать на самых разных платформах и конфигурациях, а расширение многобайтовой строки может быть недоступно. Я мог бы проверить, существует ли функция перед использованием, но у меня строковые функции разбросаны по всему коду, и я бы предпочел не заменять каждый экземпляр.

Кто-то предложил использовать set_locale (LC_CTYPE, 'C') , который он говорит, что строковые функции работают правильно. Звучит нормально, но я не хочу вводить это изменение, не понимая, что именно оно делает. Я раньше использовал set_locale для изменения форматирования чисел, но раньше я не использовал флаг LC_CTYPE , и я не совсем понимаю, что он делает. Что означает значение 'C' ? Спасибо!

10
задан Shoe 8 March 2011 в 11:20
поделиться