PHP中的UTF-8中文长度和截断

直接看代码简单:

1
2
3
4
5
6
7
8
9
<?php
    $str = "中文a数字1";
    printf("%d<br />", strlen($str));                #输出14,utf8中中文长度为3
    printf("%d<br />", mb_strlen($str, "UTF-8"));    #输出6
    printf("%s<br />", substr($str, 0 , 4));         #输出为“中�”
    printf("%s<br />", mb_internal_encoding());      #获取当前字符编码,常默认西欧编码“ISO-8859-1”
    mb_internal_encoding("UTF-8");                   #设定字符编码为utf8
    echo mb_substr($str, 0, 4);                      #输出为“中文a数”
?>

PHP中的UTF-8中文长度和截断》上有14条评论

    1. 流年 文章作者

      @卡布奇诺, 嗯,中文的编码问题一直都是需要注意的地方,使用utf8比较好。

      回复
    1. 流年 文章作者

      @mice, 如果是用Windows,不妨使用office套件中的OneNote,我还是挺喜欢这个软件的,可以将知识、资料分门别类地组织起来

      回复
    1. 流年 文章作者

      @风吟, 嗯!你的表达有点不清楚……代码最后一句就是演示如何正确截取中英文

      回复
    1. 流年 文章作者

      @风吟·, 嘿嘿,我只是记录下来,怕不常用就忘了而已

      回复

发表评论

电子邮件地址不会被公开。 必填项已用*标注