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
- VPS 零元购 酷番云:1 核 1G 60G 硬盘 2M 带宽 内蒙机房全球[VPS测评]
- 新加坡 VPS 46.5 元每月 1G 内存 650G 流量 新加坡 H全球[VPS测评]
- nat.bz→108 元 月 384MB 内存 5GB SSD 空间 5虚拟空间(主机)
- 老鹰主机再见夏季促销→虚拟主机低到 3 折 云服务器年付 7 折优惠全球[VPS测评]
- 优惠 iON→新加坡云 PCCW 线路或中国移动线路 8 折优惠 CN2全球[VPS测评]
- DEDECMS 提示 Error:no csrf hash code!错全球[VPS测评]
- NameCheap - .me 域名注册优惠 仅需$3.88 年全球[VPS测评]
- ViridWeb→€5 月 4GB 内存 100GB SSD 空间 2T虚拟空间(主机)
- 劳动节促销 Hosteons→美国不限流量 VPS 八折优惠 OVZ 架美国VPS[主机]
- dwg 文件怎么打开?全球[VPS测评]
- racknerd→$27.88 年 大流量 KVM 虚拟 VPS 3G 全球[VPS测评]
- WordPress基于WPJAM BASIC开发的免费主题:Honey主全球[VPS测评]
- WordPress如何在文章后添加类似页码的相关文章?全球[VPS测评]
- HostKvm香港 VPS/4G内存/20M带宽/CN2+BGP线路,下香港VPS[主机]
- GreenCloudVPS 荷兰阿姆斯特丹机房,2核4G/10Gbps大全球[VPS测评]
- 中国跨境电商,如何掘金欧洲市场?全球[VPS测评]
- 拼多多正筹建跨境电商平台:密集挖角SHEIN员工,零佣金招商入驻全球[VPS测评]
- 因搜包耽误员工下班,苹果将支付3050万美元赔款全球[VPS测评]
- 日主机,便宜美国CN2高防VPS¥19/月起,1Gbps带宽,香港多IP站群服务器[IP]
- sugarhosts首推DECADE云服务器,香港云服务器,1核512M香港VPS[主机]
- CIO和其他IT领导者充分利用边缘计算增强业务的4个关键全球[VPS测评]
- 傲闪云vps,1核1G低至10元起,国内高防/香港CN2/美国CN2/美美国VPS[主机]
- JGKVM(极光kvm),便宜香港VPS(5G防御秒解),极光互联vps香港VPS[主机]
- php168数据库配置文件在哪里?如何修改数据库配置文件全球[VPS测评]
- 阿里云香港服务器多少钱一年?阿里云香港云服务器如何购买?香港VPS[主机]
- 青果云:香港云主机2核1G3M30G,香港vps仅售59元/月香港VPS[主机]
- JGKVM:1核/512M/30G/600G/30Mbps/洛杉矶CN2全球[VPS测评]
- 魔方云:2021春节促销_香港CN2/美国CN2全年最高折扣75折/香港美国VPS[主机]
- edgenat,低价年付促销活动,香港vps 4核8G仅300元/年,美美国VPS[主机]
- 锤子云:香港CN2云服务器15元/月,三网CN2线路回程,建站vps专属香港VPS[主机]
转载请注明原文地址:http://140.238.13.167:12355/read-205556.html











