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
- 死海网络互联洛杉矶 gia 特价重整上线,电信单线双程 GIA 联通移动全球[VPS测评]
- ArvanCloud→€6.5 月 1GB 内存 25GB SSD 空间虚拟空间(主机)
- OneProvider→Servdiscount 德国独服 1Gbps 全球[VPS测评]
- DedeCMS 新增及调用自定义函数全球[VPS测评]
- 事字的一半和两个功字是什么成语?全球[VPS测评]
- 疯狂猜成语 图猜成语一张网一条河里面有一根针是什么成语?全球[VPS测评]
- 企鹅小屋→54 元 季 512MB 内存 10GB SSD 空间 500虚拟空间(主机)
- 疯狂猜成语 图猜成语一个太阳三根香蕉一个月亮四根香蕉是什么成语?全球[VPS测评]
- javascript 除法结果取整的四种方法全球[VPS测评]
- ¥163 年 512M 内存 20G SSD 100Mbps 不限流量 WINDOWS
- WordPress网站代码实现网站弹窗广告全球[VPS测评]
- dynadot国外域名注册商 .xyz域名首年注册仅8元,两年付52元;全球[VPS测评]
- Stromonic-印度孟买vps 测评 月付$5.2 1Gbps 1T全球[VPS测评]
- Alwyzon-奥地利维也纳 Storage VPS 4.95 欧元 月全球[VPS测评]
- RivenCloud 1G内存 10G SSD 2T流量 1G带宽 BG全球[VPS测评]
- 人们为啥不爱吃海底捞了?海底捞上半年亏损达2.97亿 网友神评扎心全球[VPS测评]
- 跨境电商周报丨拼多多布局跨境电商平台;Shopify将推出新平台支持网红全球[VPS测评]
- 二三互联年末回馈:香港/美国云服务器新购特价促销,优惠码可打76折美国VPS[主机]
- 搬瓦工:美国香港cn2 gia线路VPS,10Gbps带宽,移动+联通企美国VPS[主机]
- uuuvps:香港大带宽vps低至239元/年;香港服务器720元/e3香港VPS[主机]
- CMIVPS,香港vps终身八折$7.76/月起,1核1G内存,香港沙田香港VPS[主机]
- JGKVM:1核/512M/30G/600G/30Mbps/洛杉矶CN2全球[VPS测评]
- 言車新车|大阳VPS125混动踏板,长续航,代步通勤9980元起全球[VPS测评]
- wordpress 上传附件报错 “抱歉,出于安全的考虑,不支持此文件类全球[VPS测评]
- 免备案香港云服务器好在哪里?为什么企业要用海外云主机或VPS?香港VPS[主机]
- UCloud香港云服务器:免备案,CN2,全球31个机房,香港2核4G2香港VPS[主机]
- 安国云:1核/1G/20G硬盘/1Mbp不限流量/香港cdia,月付18香港VPS[主机]
- 极光KVM:新上香港CN2VPS,终身6折优惠,1核/1G/5Mbps,香港VPS[主机]
- 麻花云:香港CN2VPS月付19元起,安徽移动8核/16G/20M独服2香港VPS[主机]
- 快速云:vps云服务器的区别是什么?2022-08-1913:32来源:全球[VPS测评]
转载请注明原文地址:https://www.motoll.com/read-211442.html