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测评]
- 疯狂猜成语 图猜成语沙漠中有一株仙人掌和一颗枯树天上有太阳是什么成语?全球[VPS测评]
- VirMach - 存储型 VPS 少量补货 1T 硬盘$7 月全球[VPS测评]
- racknerd→复活节 VPS 低至$12.5 年 KVM 1G 内存全球[VPS测评]
- [11.11]者也 IO 全场云服务器 7 折加送内存 充 1000 送独立服务器[U]
- Nginx 上传文件大小限制修改全球[VPS测评]
- 活动 RAKsmart→机房升级 300G 防御 悬赏 100G 以上攻独立服务器[U]
- 疯狂猜成语 图猜成语一个口字吐出一条河是什么成语?全球[VPS测评]
- [11.11]LOCVPS→KVM 七折 XEN 八折 充 300 送 全球[VPS测评]
- 疯狂猜成语 图猜成语两个士兵面对面互相鞠躬行礼是什么成语?全球[VPS测评]
- 云上互联→20.8 元 月 512MB 内存 35GB 空间 不限流量 虚拟空间(主机)
- 便宜 Hostsailor→256M 内存套餐$6.6 年 1G 内存月全球[VPS测评]
- 搬瓦工黑五补货 CN2 GIA 线路 512M 套餐 年付 44.49 全球[VPS测评]
- RUU.CLOUD→免费送 200GB 空间网盘;500GB 空间 一次虚拟空间(主机)
- 劳动节 hosteons→7 大促销活动 不限流量 VPS 低至$13.WINDOWS
- 极光 KVM 双十一 美西 CN2 BGP 512M内存600G流量10全球[VPS测评]
- 购买香港服务器需要做哪些准备香港VPS[主机]
- 百看不厌的文案,抖音唯美文案。全球[VPS测评]
- 亚当云怎么样?香港安畅cn2vps带宽10M月付28元香港VPS[主机]
- 详细介绍vps云服务器及其作用全球[VPS测评]
- 阿里云服务器一年价格多少钱?阿里云服务器报价全球[VPS测评]
- 一万网络双蛋狂欢活动:2核2G5M云服务器仅377.46元/年全球[VPS测评]
- 极光kvm怎么样?香港大带宽VPS促销1核1G内存19元/月起,5G防御香港VPS[主机]
- 戈登云VPS,6折,充值送50%,香港cn2,美国cn云服务器,2核2G美国VPS[主机]
- 六一云:香港CN2/洛杉矶高防85折优惠,CDN半年优惠,充值返利送水杯香港VPS[主机]
- 宏海数据9.9云服务器:香港VPS CN2线路1核1G 9.9/首月香港VPS[主机]
- 香港服务器租用哪里有?便宜的香港服务器租用香港VPS[主机]
- JGKVM促销,美国cn2vps服务器价格再创新低,平均6.5元/月起美国VPS[主机]
- 一篇漫画,看懂云计算全球[VPS测评]
- BBR对比BBR2BBRPLUSBBR2CAKE锐速哪个效果好全球[VPS测评]
转载请注明原文地址:http://140.238.13.167:12355/read-220418.html











