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

  • 相关阅读:
    SpringBoot 部署【war】到服务器的tomcat
    SpringBoot 部署【jar】前后端分离(nginx)
    VM安装centos7
    nginx 入门
    《从零开始学习Mysql5.7》笔记
    架构师技术栈
    【读书笔记】小强升职记
    lambda 表达式
    【软考】信息资料
    flutter 获取状态栏高度
  • 原文地址:https://www.cnblogs.com/sanpoye/p/3408032.html
Copyright © 2011-2022 走看看