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
- racknerd 劳动节促销,便宜高性价比美国 vps,3 核 3G 内美国VPS[主机]
- ThinkPHP5 动态创建数据表方法全球[VPS测评]
- JQuey 中 each 方法怎么获取 判断 index?全球[VPS测评]
- 促销活动 OLVPS→安畅 512M 及以上套餐 Cera pdx 产品全球[VPS测评]
- Centos7 定时监测 mysql 进程终止后自动启动 mysql全球[VPS测评]
- 传家宝 PacificRack→三款特价套餐 1 核 400M 内存 1全球[VPS测评]
- IE 浏览器 iframe 自适应高度的两种方法(jquery 版本)全球[VPS测评]
- 做站必选 腾讯云秒杀最后一天→国内 1G 套餐 99 元 年 新加坡 1全球[VPS测评]
- 疯狂猜成语 图猜成语一个人在说话后面还站着两个人是什么成语?全球[VPS测评]
- HostKvm香港 VPS/4G内存/20M带宽/CN2+BGP线路,下香港VPS[主机]
- Google发布nofollow标签新规则,有重大变化全球[VPS测评]
- 宝塔搭建VPS补货监控系统:VPS-Inventory-Monitori全球[VPS测评]
- debian9、10,centos7开启原生bbr,实现tcp加速全球[VPS测评]
- Wikihost(idc.wiki) CN2 GIA虚拟主机 → 65全球[VPS测评]
- HKSS 2G 内存 20G SSD 2T流量 100M带宽 香港 Ce香港VPS[主机]
- 云服务器和云服务器租用,云服务器做什么??全球[VPS测评]
- 关键路径、资金情况、政策关键数据中心的可持续发展路径在哪里?全球[VPS测评]
- cmivps:香港vps终身7折,香港服务器终身9折,移动访问尤其优秀香港VPS[主机]
- 安国云:1核/1G/20G硬盘/1Mbp不限流量/香港cdia,月付18香港VPS[主机]
- 20个温暖心灵的问题,抖音,朋友圈都可以拿去发。全球[VPS测评]
- 悦智网络:香港cn2 VPS阿里云线路,四川德阳高防vps,大连高防vp香港VPS[主机]
- 麻花云怎么样?安徽移动VPS月付29元 香港VPS 2M月付21元香港VPS[主机]
- HostXen:双十一新用户香港、日本vps,送20元代金券,充值300日本VPS[主机]
- edgenat:韩国cn2+香港cn2,VPS八折优惠,8核8G/50gWINDOWS
- edgenat,低价年付促销活动,香港vps 4核8G仅300元/年,美美国VPS[主机]
- 雷盾云:香港/美国/日本免备案云服务器,香港vps低至10元/月日本VPS[主机]
- 95IDC :香港vps优惠活动,1核2G月付折后25元;香港物理机低至香港VPS[主机]
- 欧路云:香港vps上新8折优惠 – 加拿大/新加坡/法国vps 6折优惠香港VPS[主机]
- 欧路云:香港/加拿大/法国/新加坡vps全线产品8折优惠,适用于新购/续香港VPS[主机]
- Fatal error: Allowed memory size of 全球[VPS测评]
转载请注明原文地址:http://www.motoll.com/read-217406.html