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
- input 标签 type 为 number 时允许输入小数的方法全球[VPS测评]
- 促销 Hostdare→85 折促销优惠 CN2 和 CN2 GIA 线全球[VPS测评]
- 做站推荐 CubeCloud→香港 A 区接入 CN2 与国际 BPG 香港VPS[主机]
- 企鹅小屋→2400 元 季 E5-2630L 16GB 内存 240GB香港VPS[主机]
- 新年促销 糖果主机→无限空间 无限流量虚拟主机 6 折起 VPS 年付 虚拟空间(主机)
- apache 设置网站默认首页文档的方法全球[VPS测评]
- 疯狂猜成语 图猜成语一个穿着绿衣服的人伸着手指很高兴的在说话是什么成语?全球[VPS测评]
- HostYun→17.1 元 月 512MB 内存 10GB SSD 空虚拟空间(主机)
- KMS 激活 Windows OfficeWINDOWS
- 宝塔面板回收站所在路径全球[VPS测评]
- layer.closeAll()无效的解决办法全球[VPS测评]
- 优惠 €13.65 季 1G 内存 1T 硬盘 10T 流量@1Gbps全球[VPS测评]
- HKServerSolution CN 常州高带宽 VDS 扩容,200全球[VPS测评]
- 圆心网络→20 元 月 XEN-512MB 30GB 3M 香港香港VPS[主机]
- OneinStack如何启用 Brotli 压缩全球[VPS测评]
- 如何规划博客写文章的流程,加快发文速度全球[VPS测评]
- Sharktech洛杉矶高防服务器,E5双核/1TB NVMe/不限流量全球[VPS测评]
- 阿里云(中国区) 香港新加坡区轻量应用服务器香港VPS[主机]
- 人们为啥不爱吃海底捞了?海底捞上半年亏损达2.97亿 网友神评扎心全球[VPS测评]
- 租用美国服务器有哪些安全方案美国VPS[主机]
- 买了一台云服务器到底能干什么?全球[VPS测评]
- 买了一台云服务器到底能干什么?全球[VPS测评]
- 七安云怎么样?香港CN2+BGP线路VPS 1核1G10M 16/月香港VPS[主机]
- Linux chown -R 指令介绍与使用全球[VPS测评]
- hosthatch:香港/芝加哥/伦敦等11机房VPS低至$17.5/年香港VPS[主机]
- 乐趣云怎么样?香港美国云服务器首月8.8元,新增IP5元/个美国VPS[主机]
- 尊云服务器年末钜惠活动:4核8G5M云服务器仅99元/月,1188元/年全球[VPS测评]
- 因搜包耽误员工下班,苹果将支付3050万美元赔款全球[VPS测评]
- 腾讯云香港服务器优惠价格:4核8G5M新用户1508元,老用户2639元香港VPS[主机]
- 桔子数据:1核1GB香港CN2 GIA vps促销28元/月,最高30M香港VPS[主机]
转载请注明原文地址:http://140.238.13.167:12355/read-205556.html











