note 24646 added to function.strtolower
| From: | windix at 263 dot net | Date: | Sat, 24 Aug 2002 07:50:17 +0000 |
| Subject: | note 24646 added to function.strtolower | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-35439@lists.php.net to get a copy of this message | ||
If you use strtolower in Double-Byte-Characters-System, such as GB2312 of Chinese, it makes mistake
in some cases.
for example:
strtolower('Óê Rain');
Result is 'óê rain', not 'Óê rain'.
So use the function below:
function mstrtolower($str) {
$len=strlen($str);
for ($i=0; $i<$len; $i++) {
if (ord(substr($str,$i,1))>0xa0) {
//All GB2312 Chars starts above ascii 0xa0
$tmpstr.=substr($str,$i,2);
$i++;
} else {
$tmpstr.=substr($str,$i,1);
}
}
return $tmpstr;
}
--
http://www.php.net/manual/en/function.strtolower.php
http://master.php.net/manage/user-notes.php?action=edit+24646
http://master.php.net/manage/user-notes.php?action=delete+24646
http://master.php.net/manage/user-notes.php?action=reject+24646