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
- 劳动节 zji→香港服务器 348 元 月 cn2+BGP 网络 e5-香港VPS[主机]
- 便宜 VPS $6 月 512M 内存 15G 硬盘 200Mbps 不全球[VPS测评]
- Servarica→$7 月 XEN-1G 内存 1.5T 硬盘 100全球[VPS测评]
- Bootstrap-datepicker 设置开始时间及结束时间可选范围全球[VPS测评]
- 价格高-Akkocloud:月付 120 元 1G 内存 德国原全球[VPS测评]
- 便宜 iON 双旦促销→洛杉矶 CN2 GT 线路 VPS 六折优惠 年全球[VPS测评]
- [11.11]HostXen→充 300 送 100 续费减 10 元 全球[VPS测评]
- $9 月 1G 内存 50G 硬盘 100Mbps@不限流量 KVM 英全球[VPS测评]
- MySQL 修改字段类型或长度全球[VPS测评]
- AkkoCloud 常州 BGP 线路特惠 VPS 上线,20M 带宽,全球[VPS测评]
- VPS 推荐 搬瓦工→DC9 强势回归 1Gbps 洛杉矶 CN2 G全球[VPS测评]
- 恒创科技美国服务器限时终身 5 折预售,设备全新,CN2 GIA 回国带美国VPS[主机]
- HostCram美国便宜VPS,CPU i9-11900K/SK DDR美国VPS[主机]
- Cloudaye-6刀 月 1核1G25G硬盘 1T流量 新加坡 日本 日本VPS[主机]
- 香港的云服务器值得租用吗?有什么好处?香港VPS[主机]
- 什么是云计算?全球[VPS测评]
- 快速云:云服务器和vps区别是什么云服务器和vps哪个比较安全2022-全球[VPS测评]
- 快速云:vps云服务器的区别是什么?2022-08-1913:32来源:全球[VPS测评]
- HostKVM香港云地VPS,2核4G内存折后$8.4/月,30M大带宽香港VPS[主机]
- 快速云:云服务器和vps区别是什么云服务器和vps哪个比较安全2022-全球[VPS测评]
- 什么是云服务器?云服务器怎么登陆?全球[VPS测评]
- 恒创主机优惠码85折_服务器优惠券8折_恒创科技优惠_代金券全球[VPS测评]
- 一篇漫画,看懂云计算全球[VPS测评]
- 搬瓦工:全场VPS 9折优惠,10Gbps(美国cn2 gia+日本软银日本VPS[主机]
- RAKsmart促销活动:韩国服务器低价抢购,美国G口服务器低至$99,韩国VPS[主机]
- 无忧云怎么样?大连BGP德阳100G高防香港CN2VPS云服务器香港VPS[主机]
- 私有云架设之优选拓普龙S465-24高密度存储服务器机箱评测解析全球[VPS测评]
- 极客主机,美国高防/日本软银/新加坡双程CN2/香港VPS 折后39元/日本VPS[主机]
- 海量科技:香港2核2G云服务器,5M独享带宽,低至168元/月香港VPS[主机]
- 游戏服务器是什么意思?游戏服务器可以用云服务器吗?全球[VPS测评]
转载请注明原文地址:http://140.238.13.167:12355/read-220418.html











