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