在数据库中获取到了新闻标题,使用php截取一部分,出现问号乱码。
原来的代码是:
<?php $res['art_title'] ='选择好的空投糖果网站难吗?'; echo substr($res['art_title'],0,20); ?>
了解到substr() 截取中文字符会乱码,于是修改为 mb_substr()
<?php $res['art_title'] ='选择好的空投糖果网站难吗?'; echo mb_substr($res['art_title'],0,20); ?>
在本地测试一度正常,后面换了服务器,上线之后,又出现乱码了
查询说是因为网页文件与数据库编码不一致
天知道为什么不一致
我明明记得数据库和页面文件我都是设置的 utf8 来着
虽然不懂什么逻辑,但是也找到了解决方法,mb_substr() 最后一个参数再加上编码就行。