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
- 没有用过-Toxic-Host→€3.5 月 8GB 内存 80GB S全球[VPS测评]
- 微信支付接入报错→curl 出错 错误码:60全球[VPS测评]
- edgenat 高配韩国 cn2 vps 五一特惠,8 核 8G80 元韩国VPS[主机]
- 补货 CloudCone→年付$15 1 核 512M 内存 10G 硬全球[VPS测评]
- 优惠 ZJI 一月促销→葵湾机房六折优惠 新增日本 CN2 韩国 CN2独立服务器[U]
- 言吾言吾言是什么成语?全球[VPS测评]
- 便宜 $3.5 月 2 核 CPU 4G 内存 75G SSD 2Gbp全球[VPS测评]
- 百度高速下载神器PanDownload2.0.6更新 功能更强大全球[VPS测评]
- CloudIPLC 泉州电信CN2 大带宽出国优质线路 ¥560起/月全球[VPS测评]
- HostKvm 2021开年 香港国际/洛杉矶CN2七折优惠,其它业务全香港VPS[主机]
- 华纳云新上美国服务器,5M带宽云服务器年付384元起;洛杉矶高防独立服务独立服务器[U]
- 宝塔面板Nginx的Lua-Waf防火墙终极改进 动态封禁IP全球[VPS测评]
- CloudExpress → 5$ 月 1C1G20G硬盘 白俄罗斯 K全球[VPS测评]
- LetBox → 512M内存 11G NVMe储存+256G块储存 1全球[VPS测评]
- Scorpioud 1核心 2G内存 15G SSD 100M不限流量 全球[VPS测评]
- 香港云服务器对于建站有什么便捷的地方?香港VPS[主机]
- 金斗云怎么样?香港CN2月付23元,圣何塞CN2月付22元香港VPS[主机]
- “休闲养蜂”风靡海外跨境电商追逐垂直风口全球[VPS测评]
- 为什么阿里云、腾讯云卖服务器可以挣到钱?全球[VPS测评]
- 极客主机,优惠8折充值返25%,香港CN2VPS,日本软银VPS,新加坡日本VPS[主机]
- 实例 GIA0910629396 重启失败,原因:sudo: unabl全球[VPS测评]
- acroservers:香港/日本/新加坡/洛杉矶等37个机房可选,海外日本VPS[主机]
- 宝塔面板在香港服务器安装启动不了nginx怎么办?香港VPS[主机]
- 云服务器能干什么?有几十种玩法?阿里云,腾讯云服务器如何购买?全球[VPS测评]
- LOCVPS,全新香港大浦CN2 VPS 2核4G内存3M仅54/月香港VPS[主机]
- 伏羲云:全场75折,美国CN2 GIA/香港CN2年付硬盘翻倍,日本软银日本VPS[主机]
- 美国信贷市场的痛苦将不亚于上世纪70年代的通胀时期美国VPS[主机]
- 亿速云双12年终回馈:云服务器2折活动,订单满100元减50元全球[VPS测评]
- 香港云服务器性价比高:香港云服务器哪家便宜香港VPS[主机]
- DiyVM:香港/日本/美国vps低至5折,2G内存月付69元起;香港服日本VPS[主机]
转载请注明原文地址:http://140.238.13.167:12355/read-211442.html











