zoukankan      html  css  js  c++  java
  • 中文字符串以及英文字符串的研究

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

    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的执行结果是一样的)

  • 相关阅读:
    1.8 接口中的静态方法
    1.7 默认方法
    1.6 变量作用域
    汉字转拼音
    1.5 构造器引用
    1.4 方法引用
    循环中冲不掉外部定义的变量
    getBoundingClientRect
    Angular1.0 在Directive中调用Controller的方法
    horizontalDragMaxWidth:0;就没有水平滚动条了
  • 原文地址:https://www.cnblogs.com/sanpoye/p/3408032.html
Copyright © 2011-2022 走看看