這篇文章主要講解了“php如何截取頭一個中文亂碼”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“php如何截取頭一個中文亂碼”吧!
公司主營業(yè)務(wù):網(wǎng)站建設(shè)、網(wǎng)站制作、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)建站是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)建站推出文山州免費(fèi)做網(wǎng)站回饋大家。
php截取頭一個中文亂碼的解決辦法:1、創(chuàng)建一個PHP示例文件;2、設(shè)置“charset=utf-8”編碼;3、通過“function str($str='',$len=0){...}”方法截取即可。
本文操作環(huán)境:Windows7系統(tǒng)、PHP7.4版、DELL G3電腦
php怎么截取頭一個中文亂碼?
php解決中文截取亂碼問題
針對截取字符串出現(xiàn)中文亂碼問題,網(wǎng)上有很多介紹,也有很多函數(shù),但筆者看著網(wǎng)上的函數(shù),總感覺有點(diǎn)別扭,
所以自己動手寫了一個防止截取字符串時出現(xiàn)中文亂碼的函數(shù)。
實(shí)現(xiàn)的原理還是比較簡單,主要是利用ASCII編碼和中文編碼的二進(jìn)制范圍不一致而把它們區(qū)分開來,然后,通過substr()截取字符串的函數(shù)實(shí)現(xiàn)的。
下面給出我寫的代碼,注意:我這里只針對utf-8編碼,其他編碼,看官可以自己手動改一下函數(shù),以便支持其他的編碼。
=$length){ return $str; } //初始化,統(tǒng)計(jì)字符串的個數(shù), $count = 0; for($i=0;$i<$length;$i++){ //達(dá)到個數(shù)跳出循環(huán),$i即為要截取的長度 if($count == $len){ break; } $count++; //ord函數(shù)是獲取字符串的ASCII編碼,大于等于十六進(jìn)制0x80的字符串即為中文字符串 if(ord($str{$i}) >= 0x80){ $i +=2;//中文編碼的字符串的長度再加2 } } //如果要截取的個數(shù)超過了字符串的總個數(shù),那么我們返回全部字符串,不帶省略號 if($len > $count){ return $str; }else{ return substr($str,0,$i).'...'; } }
感謝各位的閱讀,以上就是“php如何截取頭一個中文亂碼”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對php如何截取頭一個中文亂碼這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!