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
- 快快云→CDN 阿里云 CDN 和腾讯云 CDN 代理 免费送 500G全球[VPS测评]
- 新商家 edgeNAT→韩国 LG 机房 有条件免费试用一个月 BGP+韩国VPS[主机]
- 2019 年 Virmach 低价 VPS 购买及优惠码使用教程全解全球[VPS测评]
- HostKvm 六月优惠→全场 8 折 香港 4G 内存 1T 流量 5香港VPS[主机]
- 便宜 野草云 10 月促销→香港独立服务器 53 折优惠 香港 CN2 独立服务器[U]
- Debian 系统下宝塔面板安装 Nginx 后不显示的解决办法全球[VPS测评]
- TP5 中 POST 接收数组出现→variable type erro全球[VPS测评]
- Rainbow Cloud→$50 月 E3-12XX 16G 内存 1香港VPS[主机]
- 疯狂猜成语 图猜成语一个迷宫一只象棋的马走出来是什么成语?全球[VPS测评]
- 刷 PT $20 月 Atom C2750 16G 内存 2T 硬盘 1全球[VPS测评]
- 优化YSlow add expires headers项目提升博客访问速全球[VPS测评]
- WordPress代码实现用户注册时验证邮箱真实性全球[VPS测评]
- gigsgigscloud 日本 CN2GIA 线路特价 VPS,$22日本VPS[主机]
- idc.wiki 1核心 1G内存 15G SSD 300G上行流量 1全球[VPS测评]
- 做跨境电商一个月都有多少收入?全球[VPS测评]
- 企鹅小屋:深港IPLC节点,0.25元/G流量,不用不花钱全球[VPS测评]
- LOCVPS,全新香港大浦CN2 VPS 2核4G内存3M仅54/月香港VPS[主机]
- 青果云怎么样?美国/香港/日本云主机 买多久送多久日本VPS[主机]
- 拼多多拟建跨境电商平台:挖角SHEIN员工,0佣金招商入驻全球[VPS测评]
- 香港vps免费:青云互联,1核1G/50G硬盘/500GB流量/2M带宽香港VPS[主机]
- 桔子数据怎么样?便宜香港安畅CN2 VPS1核1G10M 28/月香港VPS[主机]
- 阿里云香港服务器多少钱?阿里云香港服务器价格香港VPS[主机]
- 宝塔面板在香港服务器安装启动不了nginx怎么办?香港VPS[主机]
- 翔云网络怎么样?香港云服务器优惠99/月,国内4核4G高防服务器6800香港VPS[主机]
- JGKVM:1核/512M/30G/600G/30Mbps/洛杉矶CN2全球[VPS测评]
- tmhhost:香港CN2/NNT,美国CN2 GIA VPS,韩国CN韩国VPS[主机]
- 香港云服务器对于建站有什么便捷的地方?香港VPS[主机]
- 啤啤云:美国圣何塞vps低至30元/月;香港cn2vps仅43元/月起美国VPS[主机]
- tmhhost:8折优惠,美国cn2 gia高防vps,香港NTT vp美国VPS[主机]
- 雷盾云:香港/美国/日本免备案云服务器,香港vps低至10元/月日本VPS[主机]
转载请注明原文地址:http://140.238.13.167:12355/read-220418.html











