如何解决php中文字符串截取乱码的问题

  • 来源:网络
  • 更新日期:2020-08-05

摘要:php中文字符串截取乱码的解决办法:首先创建一个PHP示例文件;然后定义一个“utf_substr”方法;最后通过“substr”等函数实现PHP截取“UTF-8”字符串,并解决半字符问题即可。推荐

php中文字符串截取乱码的解决办法:首先创建一个PHP示例文件;然后定义一个“utf_substr”方法;最后通过“substr”等函数实现PHP截取“UTF-8”字符串,并解决半字符问题即可。

推荐:《PHP视频教程》

php截取utf-8中文字符串乱码的解决方法

/**
* PHP截取UTF-8字符串,解决半字符问题。
* 英文、数字(半角)为1字节(8位),中文(全角)为2字节
* @return 取出的字符串, 当$len小于等于0时, 会返回整个字符串
* @param $str 源字符串
* $len 左边的子串的长度
*/
function utf_substr($str,$len){
    for($i=0;$i<$len;$i++){
        $temp_str=substr($str,0,1);
        if(ord($temp_str) > 127){
            if($i<$len){
                $new_str[]=substr($str,0,3);
                $str=substr($str,3);
            }
        }else{
            $new_str[]=substr($str,0,1);
            $str=substr($str,1);
        }
    }    
    return join($new_str);}