admin 管理员组文章数量: 1087826
mb
$content = "我爱你中文abc12中文"; $message = mb_substr(strip_tags($content), 0, 9,"utf-8"); $intro = mb_convert_encoding($message, 'UTF-8', 'UTF-8,GBK,GB2312');
在项目中本地截取正常,上传到服务器出现截取乱码,搞了半天,总结一下:
一:
mb_substr() 函数返回字符串的一部分,之前我们学过 substr() 函数,它只针对英文字符,如果要分割的中文文字则需要使用 mb_substr()。
注释:如果 start 参数是负数且 length 小于或等于 start,则 length 为 0。
二:
通过测试发现 mb_substr()函数对存在中文和英文的字符串编码使用过后会出现乱码,原因有可能是 中文占三个字符,英文占一个字符,因为当我 设置 $content = "我爱你中文" 或者 $content = "我爱你中文a1v" ,也就是全是中文或者包含三个英文的倍数的时候乱码消失,所以问题应该出在这里 ;
三:解决方法: 在后面加个utf-8,表示编码全部用utf-8
$content = "我爱你中文abc12中文";
$message = mb_substr($content =, 0, 9,"utf-8");
本文标签: mb
版权声明:本文标题:mb 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/p/1699467612a356223.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论