php截取中文字符出现问号乱码

强颜欢笑 提交于 2020-03-06 14:07:14

在数据库中获取到了新闻标题,使用php截取一部分,出现问号乱码

 

 原来的代码是:

<?php echo substr($res['art_title'],0,20);?>

了解到substr() 截取中文字符会乱码,于是修改为 mb_substr()

<?php echo mb_substr($res['art_title'],0,20);?>

在本地测试一度正常,后面换了服务器,上线之后,又出现乱码了

查询说是因为网页文件与数据库编码不一致

天知道为什么不一致

我明明记得数据库和页面文件我都是设置的 utf8 来着

虽然不懂什么逻辑,但是也找到了解决方法,mb_substr() 最后一个参数再加上编码就行

<?php echo mb_substr($res['art_title'],0,20,"utf-8");?>

 

完美!

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!