国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

php substr中文亂碼解決辦法

2024-05-04 23:24:12
字體:
來源:轉載
供稿:網友
如果直接使用substr截取中文字符串肯定會出亂碼的,因為他會把一個漢字分成一半,為什么會這樣,因為機器內部編碼的問題?,F在我們來看處理辦法
1、使用mbstring擴展庫的mb_substr截取就不會出現亂碼了。
2、自己書寫截取函數,但效率不如用mbstring擴展庫來得高。
3、如果僅是為了輸出截取的串,可用如下方式實現:substr($str, 0, 30).chr(0)。
  * 可以避免亂碼的截取漢字
  * 參數 $str 為字符串,$start 為開始字符,$len 結束字符
  * 返回截取后的字符
  */
function msubstr($str, $start, $len) {
  $tmps教程tr = "";
  $strlen = $start + $len;
  for($i = 0; $i < $strlen; $i++) {
   if(ord(substr($str, $i, 1)) > 0xa0) {
    $tmpstr .= substr($str, $i, 2);
    $i++;
   } else
    $tmpstr .= substr($str, $i, 1);
  }
  return $tmpstr;
}
//方法二 php實現中文字串截取無亂碼的方法  


function gbsubstr($string, $start, $length) {
if(strlen($string)>$length){
   $str=null;
   $len=$start+$length;
   for($i=$start;$i<$len;$i++){
    if(ord(substr($string,$i,1))>0xa0){
     $str.=substr($string,$i,2);
     $i++;
    }else{
     $str.=substr($string,$i,1);
    }
   }
   return $str.'...';
}else{
   return $string;
}
}

?>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 保靖县| 永康市| 库伦旗| 宣汉县| 白银市| 长治市| 青河县| 绍兴县| 郧西县| 抚州市| 海兴县| 遵义县| 沂南县| 昌黎县| 修水县| 武乡县| 沁阳市| 务川| 枣庄市| 赤城县| 合川市| 屏东市| 长葛市| 曲松县| 磐安县| 抚松县| 唐河县| 章丘市| 仙游县| 苏尼特右旗| 辽中县| 黄浦区| 邛崃市| 凉城县| 安远县| 鹤峰县| 济南市| 六安市| 河北省| 宜川县| 济源市|