LINUX.ORG.RU

[case-insensitive][php][utf8]

 ,


0

0

Доброго утра...

Совсем уже запарился, бьюсь час о детские грабельки.. Есть какой нибудь способ мне получить после strtolower и подобных функций нормальную строку? Сейчас - квадратики =\

В идеале бы конечно просто stristr, но эта функция не страбатывает.

Нужно: сравнивать введенную строку на русском со строкой из бд, везде кодировка utf-8.

На похапе.нет много чего предлагают, но увы что такого типа варианты


<?php
function strtolower_ru($text) {
$alfavitlover = array('ё','й','ц','у','к','е','н','г', 'ш','щ','з','х','ъ','ф','ы','в', 'а','п','р','о','л','д','ж','э', 'я','ч','с','м','и','т','ь','б','ю');
$alfavitupper = array('Ё','Й','Ц','У','К','Е','Н','Г', 'Ш','Щ','З','Х','Ъ','Ф','Ы','В', 'А','П','Р','О','Л','Д','Ж','Э', 'Я','Ч','С','М','И','Т','Ь','Б','Ю');

return str_replace($alfavitupper,$alfavitlover,strtolower($text));
}
?>


что такого

<?php
function strtolower_utf8($inputString) {
$outputString = utf8_decode($inputString);
$outputString = strtolower($outputString);
$outputString = utf8_encode($outputString);
return $outputString;
}
?>

Ничего кроме квадратиков или вопросиков мне не дают :E

Надеюсь, кто-нибудь наставит меня на путь истинный.

Ах да, не знаю, на сколько критично - все это на велосипеде codeigniter.

anonymous

PHP собран с mbstring? Два варианта:
1. прописать в конфиг апача или .htaccess:
php_value mbstring.func_overload 7
2. Использовать непосредственно функции mb_*

Chumka ★★★
()
Ответ на: комментарий от Chumka

Спасибо! Красавчег! Весь инет излазил, тут нашел ответ.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.