在非中文系统的服务器上用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);