码迷,mamicode.com
首页 > Web开发 > 详细

php使用substr中文乱码问题

时间:2018-04-02 18:08:37      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:是什么   gpo   text   解析   情况   content   val   php配置   修复   

周天的时候对网站 https://www.javasec.cn 进行bug修复和功能更新,其中遇到一个比较有意思的小问题:

 问题:

网站的置顶推荐中,有文本略缩。但是无论怎么修改最后一个字符始终现实为乱码。

因为前端使用模板解析,{content}...所以看不出来是什么问题导致了,跟进发现看看是在哪里

 

解决:

1.查看这个中文是否非utf-8,是不是这个文字乱码

2.查看php配置数据库编码是否正确

3.查看数据库编码是否正确

4.查看{contnet}的生成来源

echo str_replace(array(‘{permalink}‘, ‘{title}‘,‘{content}‘),array($val[‘permalink‘], $val[‘title‘],substr($val[‘text‘],0,250,"utf-8")),$defaults[‘xformat‘]);

找到这个conent的数据来源,因为substr()根据字节,中文的字节比较特殊,所以没办法保证截取正确的情况下,果断放弃了这个函数。

echo str_replace(array(‘{permalink}‘, ‘{title}‘,‘{content}‘),array($val[‘permalink‘], $val[‘title‘],mb_substr($val[‘text‘],0,130,"utf-8")),$defaults[‘xformat‘]);

解决。

 

php使用substr中文乱码问题

标签:是什么   gpo   text   解析   情况   content   val   php配置   修复   

原文地址:https://www.cnblogs.com/sevck/p/8695365.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有
迷上了代码!