欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-06-22 10:00:15
在数据库中获取到了新闻标题,使用php截取一部分,出现问号乱码 原来的代码是: 了解到substr() 截取中文字符会乱码,于是修改为 mb_substr()

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

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");?>

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

 

完美!