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
- 免费主机 iON→1G 空间 25G 流量免费 WordPress 空间虚拟空间(主机)
- php 从数组中返回一个随机值全球[VPS测评]
- hostigger 四月特惠!伊斯坦布尔 阿姆斯特丹 堪萨斯城 VPS 全球[VPS测评]
- 三优云→香港 CMI 美国 CN2 日本 CN2 线路 KVM 8 折促日本VPS[主机]
- Fresh Roasted Hosting→$30 月 I3-540 8全球[VPS测评]
- Zcloudme→$59.5 月 2*E5-2620v3 32G 内存 香港VPS[主机]
- STL vector 容器介绍全球[VPS测评]
- javascript 除法结果取整的四种方法全球[VPS测评]
- 疯狂猜成语 图猜成语一片草和一个人被拦腰斩断是什么成语?全球[VPS测评]
- WordPress插件:SM.MS UPLOADER上传图片到SM.MS全球[VPS测评]
- 2021年最新宝塔面板如何关闭强制绑定账号全球[VPS测评]
- 阿里云国际版新加坡机房轻量应用服务器VPS测评,延迟和丢包非常低,适合建全球[VPS测评]
- DevCloud cloud-v-14欧年付 德国 1C1G30gb N全球[VPS测评]
- sppd.ne.jp-日本 2C2G55GB 250Mbps 不限流量 日本VPS[主机]
- HKServerSolution → 2G 内存 20G HDD 2T单全球[VPS测评]
- 深圳市城市交通规划设计研究中心股份有限公司关于与腾讯云计算(北京)有限责全球[VPS测评]
- 跨境电商平台首选香港服务器香港VPS[主机]
- 吸血鬼崛起服务器怎么快速搭建?全球[VPS测评]
- jquery css3实现的进度条动画特效,带加载进度条百分比动态效果。全球[VPS测评]
- 港网科技怎么样?国内BGP云主机,2核2G5M带宽仅377.46元/年全球[VPS测评]
- UCloud海外云服务器促销:全场1折起,香港cn2vps最低年付150香港VPS[主机]
- 2021硅云新年献礼活动:香港企业级云服务器2核4G5M仅2888元/5香港VPS[主机]
- EdgeNAT,香港CN2+BGP vps 带宽5M 月付72元香港VPS[主机]
- 向日葵-漏洞科普:海外云服务器三种漏洞修复方法快收藏起来!全球[VPS测评]
- 空空云怎么样?香港CN2-GIA VPS,带宽2M,月付15元香港VPS[主机]
- 者也IO,香港日本美国云服务器促销,2核2G1000元/2年,7折+内存日本VPS[主机]
- 恒星云:喜迎新春香港CN2云服务器,首月9.9元;深圳2核4G云服务器仅香港VPS[主机]
- 快速云:云服务器和vps区别是什么云服务器和vps哪个比较安全2022-全球[VPS测评]
- 者也vps年终特惠:全场云服务器7折终身优惠,赠1G内存,充1000送3全球[VPS测评]
- 八成企业看好出海投资 防止“溺水”需重视这一点全球[VPS测评]
转载请注明原文地址:http://140.238.13.167:12355/read-208490.html











