• 中文字符串以及英文字符串的研究


    中文字符串以及英文字符串的研究

    1、其中js中,测试环境 firefox25浏览 如果html中的编码和浏览器浏览的编码一致的情况下,中文字符的长度算作1;

    var strr=new String;
    strr='我是在fadfaa';
    console.log(strr.length);
    

    在utf8 和gbk的编码下,输出的结果都是9;

    2、但是在php中 函数strlen中中文字符会由于字符编码的不同,长度会不同,在gbk中字字符长度为2; 在utf8 中中文字符的长度为3;

    $str="我是在fadfaa";
        var_dump($str);
        echo strlen($str);
    

    这个在utf8中的结果是15,在gbk中的结果是12;

    mb_internal_encoding("UTF-8");
    $str="我是在fadfaa";
    var_dump($str);
    echo strlen($str);
    echo mb_strlen($str);
    echo mb_internal_encoding();
    echo "<br>";
    echo mb_substr($str, 0,4);
    

    这样的处理的方法不错,最后一行输出的代码为

    我是在f
    

    3、在mysql数据库中,字符集我设置为gbk

    SELECT LENGTH(char1) FROM mytest1 WHERE id=1
    

    其中char1的内容为“我是在fadfaa”; 结果为12;

    如果我再次把字符集设置为utf8的话,执行相同的结果为15 (这个和php中的strlen的执行结果是一样的)

  • 相关阅读:
    jvm内存模型
    tomcat下出现The file is absent or does not have execute&
    linux下安装apache
    什么时候能踏上征程?追寻真正的自由和信仰
    linux基础命令
    UVALive 7263 Today Is a Rainy Day
    HDU 6071 Lazy Running
    HihoCoder 1634 Puzzle Game
    HDU 6228 Tree
    HDU 2222 Keywords Search AC自动机模版
  • 原文地址:https://www.cnblogs.com/sanpoye/p/3408032.html
Copyright © 2020-2023  润新知