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
- 便宜 $13.99 年 512M 内存 20G SSD 250G 流量 全球[VPS测评]
- 新商家慎重-Digital-VM→$2.8 月 5T 流量 1Gbps 日本VPS[主机]
- 企鹅小屋→300 元 月 2*L56XX 16GB 内存 1TB 硬盘 香港VPS[主机]
- RAKsmart 双旦活动→独立服务器底价秒杀 I3 仅售$ 46 50独立服务器[U]
- 免费国内 VPS 阿里云小程序繁星计划送 ECS 送免费 6 个月 VP全球[VPS测评]
- 补货通知 搬瓦工$29.99 年付 VPS 补货了 速度上了。全球[VPS测评]
- 习梦云→75 元 月 1GB 内存 15GB SSD 空间 不限流量 1虚拟空间(主机)
- ServerAstra→€3.99 月 1GB 内存 10GB NVMe虚拟空间(主机)
- EGIHosting→圣何塞服务器每月 60 美元起 1G 无限流量服务全球[VPS测评]
- 特价 Hostodo→ 1 核 512MB 内存 8GB NVMe 硬盘全球[VPS测评]
- 阳帝云 美国CN2 GIA高防 VPS 1g内存40G硬盘外带200G防美国VPS[主机]
- WordPress插件:WPS Hide Login 修改 WordPr全球[VPS测评]
- GigsGigsCloud 新加坡K1+ MINI套餐 PCCW线路 九全球[VPS测评]
- LetBox → 512M内存 11G NVMe储存+256G块储存 1全球[VPS测评]
- 六一云:国内BGP高防vps套餐,1核/1G/2Mbps/香港CN2,月香港VPS[主机]
- Weebly网站迁移到WordPress的实操上手。全球[VPS测评]
- Vultr新用户100美金 最新活动来啦!新用户充值活动来了,充100美全球[VPS测评]
- 戈登云VPS,6折,充值送50%,香港cn2,美国cn云服务器,2核2G美国VPS[主机]
- 快速云:云计算分类和云计算的特点全球[VPS测评]
- 群英云怎么样?2核2G3M华北BGP云服务器,98元/首月;香港cn2v香港VPS[主机]
- 亿速云“双11”上云狂欢大促 高防云服务器、裸金属服务器优惠套餐全球[VPS测评]
- 数字化东风已来,亚马逊云科技跨境电商合作企业招募大会即将开启全球[VPS测评]
- HTML5绿色有机食品电商网站模板 - Organtio全球[VPS测评]
- UCloud香港云服务器:免备案,CN2,全球31个机房,香港2核4G2香港VPS[主机]
- tmhhost:香港安畅机房三网CN2 GIA VPS,月付45起;美国美国VPS[主机]
- 云米科技:新春欢庆,香港云服务器/美国高防vps服务器全场八折,支持按天美国VPS[主机]
- GreenCloudVPS:6折优惠,日本、新加坡、香港等KVM VPS日本VPS[主机]
- btcvps,比特云怎么样?香港VPS,KVM架构带宽4M月付88港币香港VPS[主机]
- 什么是云计算?全球[VPS测评]
- Mineserver:香港CMI大带宽云服务器38元/月起(300M不限香港VPS[主机]
转载请注明原文地址:http://140.238.13.167:12355/read-211442.html











