美文网首页
PHP中使用substr()截取字符串出现中文乱码问题该怎么办

PHP中使用substr()截取字符串出现中文乱码问题该怎么办

作者: F的平方 | 来源:发表于2018-11-08 09:53 被阅读3次

    理论:

            PHP内置的字符串长度函数strlen()无法正确处理中文字符串,它得到的只是字符串所占的字节数。对于GB2312的中文编码,strlen得到的值是汉字个数的2倍,而对于UTF-8编码的中文,就是3倍的差异了(在UTF-8编码下,一个汉字占3个字节)。

    解决:

            用mb_strlen这个函数来计算:

            $name="鸣人";

            print"姓名的长度为:".mb_strlen($name,"utf-8");

    ?php

      echomb_substr("php中文字符encode",0,4,"utf-8");

    ?>

    总体:$companyName=mb_strlen($company['dep_name'])>16?mb_substr($company['dep_name'],0,17,'utf-8').'...':$company['dep_name'];

    相关文章

      网友评论

          本文标题:PHP中使用substr()截取字符串出现中文乱码问题该怎么办

          本文链接:https://www.haomeiwen.com/subject/sppixqtx.html