PHP的strtolower()和strtoupper()函数在安装非中文系统的服务器下可能会将汉字转换为乱码

来源:互联网 发布:淘宝女装宣活动传语 编辑:程序博客网 时间:2024/05/21 09:29

在非中文系统的服务器上用strtoupper或者strtolower转换字符串是可能会导致中文出现乱码

function uplowerFun($a){
    $b = str_split($a, 1);//对于多字节字符会按字节切割
    $r = '';
    foreach($b as $v){
        $v = ord($v);//对该字符转成acsii码
        if($v >= 97 && $v<= 122){//判断是否为小写字母
            $v -= 32;//转换成大写字母
        }
        $r .= chr($v);//将ascii码再转为相应的字符。
    }
    return $r;
}


$a = 'q大幅度iyr';
$r = uplowerFun($a);
var_dump($r);

阅读全文
0 0
原创粉丝点击