天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

解析使用substr截取UTF-8中文字符串出現(xiàn)亂碼的問(wèn)題

我們知道有時(shí)候使用substr來(lái)截取UTF-8中文字符串的時(shí)候,經(jīng)常會(huì)出現(xiàn)亂碼,為什么會(huì)出現(xiàn)這樣的問(wèn)題呢,本文告訴你答案。
看這樣一段代碼吧(字符編碼為UTF-8):
復(fù)制代碼 代碼如下:
<?
$str = '都知道strlen與mb_strlen是求字符串長(zhǎng)度的函數(shù)';
echo strlen($str)'.<br />'.mb_strlen($str,'utf-8');
?>

運(yùn)行上述代碼,返回值如下:
66
34
怎么樣?strlen中,中文是三個(gè)字節(jié)的長(zhǎng)度,英文則是一個(gè)字節(jié)的長(zhǎng)度!mb_strlen中,都被計(jì)算為一字節(jié)的長(zhǎng)度!所以,我們有時(shí)候用substr來(lái)截取UTF-8中文字符串的時(shí)候,經(jīng)常會(huì)出現(xiàn)亂碼,就是這個(gè)原因了!
下面提供一個(gè)截取UTF-8字符串的函數(shù):
復(fù)制代碼 代碼如下:
function cutstr($sourcestr,$cutlength){
$returnstr = '';
$i = 0;
$n = 0;
$str_length = strlen($sourcestr);
$mb_str_length = mb_strlen($sourcestr,'utf-8');
while(($n < $cutlength) && ($i <= $str_length)){
$temp_str = substr($sourcestr,$i,1);
$ascnum = ord($temp_str);
if($ascnum >= 224){
$returnstr = $returnstr.substr($sourcestr,$i,3);
$i = $i + 3;
$n++;
}
elseif($ascnum >= 192){
$returnstr = $returnstr.substr($sourcestr,$i,2);
$i = $i + 2;
$n++;
}
elseif(($ascnum >= 65) && ($ascnum <= 90)){
$returnstr = $returnstr.substr($sourcestr,$i,1);
$i = $i + 1;
$n++;
}
else{
$returnstr = $returnstr.substr($sourcestr,$i,1);
$i = $i + 1;
$n = $n + 0.5;
}
}
if ($mb_str_length > $cutlength){
$returnstr = $returnstr . "...";
}
return $returnstr;
}

使用例子:
復(fù)制代碼 代碼如下:
<?
$str = '有效期最長(zhǎng)三個(gè)月,超過(guò)有效期系統(tǒng)將自動(dòng)刪除本條信息';
//echo strlen($str);
//echo '<hr />'.mb_strlen($str,'utf-8');
echo '<hr />'.$str;
echo '<hr />'.cutstr($str,24);
?>

php技術(shù)解析使用substr截取UTF-8中文字符串出現(xiàn)亂碼的問(wèn)題,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 快乐激情网| 伊人久在线观看视频 | 国产精品人妻无码99999 | 被公疯狂玩弄的漂亮人妻 | 91av电影在线观看 | 2017年伦理片免费观看 | 国产AV视频二区在线观看 | 国产色精品久久人妻无码看片软件 | 两个人的视频日本在线观看完整 | 亚洲 欧美 中文 日韩 另类 | 桥本有菜黑丝 | 把腿张开老子CAO烂你动态图 | 久久中文字幕综合不卡一二区 | 成人精品综合免费视频 | 亚洲精品tv久久久久久久久久 | 抽插妇女疯狂视频 | 国产第一页在线视频 | 一本道高清到手机在线 | 97人妻中文字幕免费视频 | 国产一区免费在线观看 | 影音先锋男人资源813. | 十分钟免费视频大全在线观看 | 国产精品一久久香蕉国产线看 | 日本一本免费线观看视频 | 久久国产精品免费A片蜜芽 久久国产精品萌白酱免费 久久国产精品麻豆AV影视 | 91伊人久久大香线蕉 | 亚洲成人三级 | 日日AV夜夜添久久奶无码 | 野花日本手机观看大全免费3 | 精品亚洲国产熟女福利自在线 | 扒开美女下面粉嫩粉嫩冒白浆 | 亚洲国产成人精品无码区5566 | 韩国精品无码少妇在线观看网站 | 亚洲国产亚综合在线区尤物 | 达达兔欧美午夜国产亚洲 | 日韩综合网 | 亚洲电影成人 成人影院 | 国内精品视频久久久久免费 | 免费精品国偷自产在线在线 | 亚洲欧美强伦一区二区另类 | 阿离被扒开双腿疯狂输出 |