php函數substr_replace中文亂碼的替代解決方法


        $str = "中華人民共和國";
        $len = mb_strlen($str,'utf-8');
        if($len>=6){
            $str1 = mb_substr($str,0,2,'utf-8');
            $str2 = mb_substr($str,$len-2,2,'utf-8');
        }
        else{
            $str1 = mb_substr($str,0,1,'utf-8');
            $str2 = mb_substr($str,$len-1,1,'utf-8');            
        }

        $this->assign('str1',$str1);
        $this->assign('str2',$str2);
        $this->assign('str',$str1.'**'.$str2);
        $this->assign('strold',substr_replace($str,'**',2,2));

輸出結果為:

中華
和國
中華**和國
��**��人民共和國
 
substr_replace函數有些缺陷,中文替代會出現亂碼,使用mb_substr函數截取函數再連接字符串解決,雖然有點丑陋,但能解決問題。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM