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
- 超值推荐腾讯云秒杀→2 核 CPU 4G 内存 50G 硬盘 6M 带宽全球[VPS测评]
- 恒创科技美国服务器限时终身 5 折预售,设备全新,CN2 GIA 回国带美国VPS[主机]
- Uovz→3500 元 年 L5630*2 8GB 内存 146GB S全球[VPS测评]
- 宝塔面板无法切换列表显示 删除网站失败提示计算错误的解决办法全球[VPS测评]
- LOCVPS 上架 KVM 七折 香港&德国(CN2)机房月付 49 元香港VPS[主机]
- iSmile→香港 台湾虚拟主机 100GB 空间 100GB 月流量 虚拟空间(主机)
- js 限制 input 只能输入数字(包括小数)全球[VPS测评]
- win7 修改 iis7 默认端口号方法 win7 系统如何修改 iis全球[VPS测评]
- 不限内容大盘机 $38.5 年 1G 内存 1T 硬盘 10TB@1Gb全球[VPS测评]
- 搬瓦工最便宜的美国 cn2vps 补货 Zenlayer CN2 线路 美国VPS[主机]
- 新商家慎重-修罗云→9 元 月 150G 流量 美国洛杉矶 CN2 香港美国VPS[主机]
- PHP 保留两位小数(不四舍五入)全球[VPS测评]
- hkserversolution 洛杉矶 圣何塞独立服务器,1G 10G独立服务器[U]
- 优惠 HostKvm→全新上线美国圣何塞 CN2 VPS 美国山河城 2美国VPS[主机]
- AlexHost摩尔多瓦抗投诉 VPS 云服务器 1.5G内存/不限流/全球[VPS测评]
- 酷锐云双十一 香港电信GIA 月付最低32元 美国CERA GIA 20美国VPS[主机]
- 搜索引擎喜欢什么样的反向链接,反向链接如何给博客SEO加分?全球[VPS测评]
- Metaidc 佛山移动VDS 测试记录 (已跑路)全球[VPS测评]
- skyhost-俄罗斯-1C512MB10GB 84卢布 月-测评全球[VPS测评]
- 华凯易佰同比扭亏跨境电商行业回暖H2旺季将至中报追踪全球[VPS测评]
- 腾讯云香港轻量应用服务器 优惠活动最低月付仅24元香港VPS[主机]
- 景林网络:香港CN2vps,1核1G3M月付35元;美国高防vps,48美国VPS[主机]
- ucloud香港服务器怎么样?听听这些网友们怎么说的香港VPS[主机]
- EdgeNat双十二优惠:韩国/香港/美国全场VPS年付,2核2G2M仅韩国VPS[主机]
- wikihost,微基主机服务,100M带宽香港CMIVPS,5G防御,香港VPS[主机]
- 六一云:香港CN2/洛杉矶高防/CDN,“返利+折扣”双优惠,折上折送实香港VPS[主机]
- 快云科技:2核2G3M香港云BGP/新界CN2云服务器,月付33元香港VPS[主机]
- TmhHost:美国洛杉矶CN2 GIA高防vps/日本/香港BGP等K日本VPS[主机]
- 如何设置必应api 自动推送网站全球[VPS测评]
- VoLLCloud:香港1核/1G/20OM不限速VPS,全网特价,3$香港VPS[主机]
转载请注明原文地址:http://140.238.13.167:12355/read-211442.html











