php substr 中文截取乱码解决办法
|
![]() |
![]() |
![]() |
| 【性价之王】 | 【线路之王】 | 【价格之王】 | 【配置之王】 |
| 【免费之王】 | 【香港首推】 | 【梯子之王】 | 【独服之王】 |
在 php 中使用 substr 函数进行中文字符串截取时,有可能会产生乱码,因为中文的两种常用编码格式中:UTF-8 编码,每个汉字占 3 字节,而 GB2312 编码中,每个汉字占 2 字节,英文占 1 字节,这就导致很多时候 substr()硬生生地将一个中文字符“锯”成两半,造成断开的字符会把其后的..拉过来一起做一个字,所以出现了 php substr 中文乱码。
解决方法一:使用 mb_substr 函数。
mb_substr (PHP 4 >= 4.0.6, PHP 5, PHP 7) — 获取部分字符串
string mb_substr ( string $str , int $start [, int $length = NULL [, string $encoding = mb_internal_encoding() ]] )根据字符数执行一个多字节安全的 substr() 操作。 位置是从 str 的开始位置进行计数。 第一个字符的位置是 0。第二个字符的位置是 1,以此类推。
解决方法二:编写自定义函数。
function sub_str($str, $length = , $append = true) { $str = trim($str); $strlength = strlen($str); if ($length == || $length >= $strlength) { return $str; //截取长度等于或大于等于本字符串的长度,返回字符串本身 } elseif ($length < ) //如果截取长度为负数 { $length = $strlength + $length;//那么截取长度就等于字符串长度减去截取长度 if ($length < ) { $length = $strlength;//如果截取长度的绝对值大于字符串本身长度,则截取长度取字符串本身的长度 } } if (function_exists('mb_substr')) { $newstr = mb_substr($str, , $length, EC_CHARSET); } elseif (function_exists('iconv_substr')) { $newstr = iconv_substr($str, , $length, EC_CHARSET); } else { //$newstr = trim_right(substr($str, , $length)); $newstr = substr($str, , $length); } if ($append && $str != $newstr) { $newstr .= '...'; } return $newstr; } 猜你可能想看的VPS
- VmShell:香港CMI线路300MBps,KVM架构vps,年付免费 香港VPS[主机]
- 八成企业看好出海投资 防止“溺水”需重视这一点 全球[VPS测评]
- HTML5绿色有机食品电商网站模板 - Organtio 全球[VPS测评]
- 因搜包耽误员工下班,苹果将支付3050万美元赔款 全球[VPS测评]
- 外贸无界烟台市有多少跨境电商?烟台跨境电商开发平台,烟台跨境电商选品 全球[VPS测评]
- 青果云怎么样?美国/香港/日本云主机 买多久送多久 日本VPS[主机]
- wikihost,微基主机:1核/1G/15G/100Mbps/香港vp 香港VPS[主机]
- 亿速互联怎么样?香港沙田vps,2核1G3M云主机仅98元/月,780元 香港VPS[主机]
- 56云服务器怎么样?56云免备案香港云服务器价格多少钱? 香港VPS[主机]
- 景文互联年终特惠:日本/香港/美国VPS全场7折+送内存,充1000送3 日本VPS[主机]
- uuuvps:香港大带宽vps低至239元/年;香港服务器720元/e3 香港VPS[主机]
- 初忆云: 滁州电信、湖北电信云服务器价格低至10元起,续费同价 全球[VPS测评]
- 触摸云:香港BGP/香港CN2/美国GIA高防CN2 GIA云服务器2H 美国VPS[主机]
- 恒星云:香港沙田CN2VPS低至9.9元/起_国内BGP云服务器4核4G 香港VPS[主机]
- 情画数据:香港沙田CN2云服务器,2核/2G/5M带宽,年付200元 香港VPS[主机]
- 伏羲云:全场75折,美国CN2 GIA/香港CN2年付硬盘翻倍,日本软银 日本VPS[主机]
- 快云科技:香港CN2 GIA云服务器,全场7折终身优惠,带宽20M,20 香港VPS[主机]
- HostKvm:香港国际/美国洛杉矶七折优惠,其它业务全场八折,适合做站 美国VPS[主机]
- 傲游主机:香港CN2高防云主机8折158元/月起(最高50G防御/2核2 香港VPS[主机]
- 绮风云:香港云服务器低至9.9元/月起,深圳/北京/内蒙古vps,63. 香港VPS[主机]
- 麻花云:香港CN2云服务器首月9元起;安徽移动BGP云主机月付29元起 香港VPS[主机]
- 硅云香港主机怎么样?硅云香港云服务器价格多少钱一年? 香港VPS[主机]
- 硅云怎么样?硅云服务器好用吗?硅云香港vps多少钱一年? 香港VPS[主机]
- 星辰云:香港/美国/韩国/菲律宾/新加坡cn2云服务器低至20元/月起, 韩国VPS[主机]
- LiCloud:香港CN2线路云服务器,100Mbps大带宽,6折优惠中 香港VPS[主机]
- 6种样式社交论坛网站HTML5模板 - Social 全球[VPS测评]
- 因搜包耽误员工下班,苹果将支付3050万美元赔款 全球[VPS测评]
- 快速云:云服务器和vps区别是什么云服务器和vps哪个比较安全2022- 全球[VPS测评]
- sugarhosts首推DECADE云服务器,香港云服务器,1核512M 香港VPS[主机]
- 极光kvm怎么样,便宜大带宽香港cmi vps/美国gia vps低至1 美国VPS[主机]
转载请注明原文地址: http://140.238.13.167:12355/read-208490.html











