Преобразование русских символов из верхнего регистра в нижний регистр в php


Я пытаюсь изменить регистр русских символов с верхнего на нижний.

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

Это функция, которую я использовал, и вывод выглядит примерно так

ЁЙ## ёѹ##`

Может ли кто-нибудь помочь мне с этим? Заранее благодарю

Author: Lev Khomich, 2011-04-25

2 answers

$result = mb_strtolower($orig, 'UTF-8');

(предполагая, что данные находятся в utf-8)

 8
Author: zerkms, 2011-04-25 11:34:17

Укажите кодировку в HTML и используйте mb_strtolower() для преобразования регистра:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 TRANSITIONAL//EN">
<html>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
    <head>
        <title></title>
    </head>
    <body>
<?
$string = 'ЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ' ;
echo mb_strtolower($string, 'UTF-8');
?>
    </body>
</html>

С метатегом это выглядит так:

цукенгшщзхъфывапролджэячсмитьбю

Без мета-тега это выглядит так

цукенгшщзхъфывапролджÑÑчÑмитьбю
 3
Author: Anne, 2011-04-25 11:39:16