[prg] PHP: функция strtolower не обрабатывает кириллицу
Здравствуйте.
Столкнулся с проблемой некорректной (по крайней мере, не соответствующей моим
ожиданиям) работы функции strtolower.
Симптоматика такая:
<?php
$str = "HELLO МИР!";
$str = strtolower($str);
echo $str;
Этот скрипт выводит "hello МИР!", а не "hello мир!", как я ожидаю. То есть обрабатывается
только ASCII.
Использую кодировку UTF-8. Пытался донести эту мысль до MBString, вписывая в
.htaccess следующие директивы:
php_value mbstring.internal_encoding UTF-8
php_value mbstring.http_input UTF-8
php_value mbstring.http_output UTF-8
Проблему это не решило. Support хостера деревянный, поэтому приходится ковыряться
самому и заниматься непрофильными задачами.
Что ещё можно сделать?
Успехов. Никита.
Vande omentaina, "Nikita"!
Добавить ровно три символа.
// This is PHP, amigo. It doesn't support unicode. No, it doesn't.
// Really.
$str = mb_strtolower($str);