zoukankan      html  css  js  c++  java
  • 将字符串 由一个字符集 转成 另一个字符集 及 随机生成中文

    今天遇到了一个麻烦 字符集的转换

                   因为这个网页是utf-8的  但是他获取了一个gbk的数据库 所以为了统一字符集必须要将获取的gbk数据转成utf-8   

           刚开始我的思路是acsii值得转换  先以gbk的字符集获取数据 然后 用mb_substr($str,$start,$len,'gbk') 来截取一个中文

           然后在用ord()获取他的ascii值 之后用chr() 把ascii值转成中文   原理字符的ascii是不变的  无论它是gbk 还是 utf-8

           但是我发现输出的是一个乱码【无论是gbk 还是uft-8】这样更惨   

               $str='结婚多久啊哈卡斯卡';
               $str_len =  strlen($str);
               for($i=0; $i<$str_len; $i++){
                   $chars = mb_substr($str, $i, 2,'gbk');
                   $num = ord($chars);
                   echo chr($num);
               }

                然后我查了一些资料发现: 中文是由两个字节的ascii码组成的       chr($num).chr($num)           这才能组合成一个中文

          如:随机生成中文:  echo chr(rand(0xB0,0xCC)).chr(rand(0xA1,0xBB));       

          但是我用ord() 获取中文的ascii 再用两个chr()连接去了发现获取的的中文已经不是原来的了  所以这种方法失败

    经过N次的搜索终于发现 万能的php已经帮我们搞定了  我也是受不了啦

              // iconv — 字符串按要求的字符编码来转换 
    
               $str = iconv('gbk','utf-8',$str); 
    
             //把$str 由 gbk 转换成  utf-8 

    //可以再手册里好好看看 iconv系列 的函数

    2015-04-20   21:34:52

  • 相关阅读:
    我的WCF之旅(1):创建一个简单的WCF程序
    网页设计中颜色的搭配
    CSS HACK:全面兼容IE6/IE7/IE8/FF的CSS HACK
    UVa 1326 Jurassic Remains
    UVa 10340 All in All
    UVa 673 Parentheses Balance
    UVa 442 Matrix Chain Multiplication
    UVa 10970 Big Chocolate
    UVa 679 Dropping Balls
    UVa 133 The Dole Queue
  • 原文地址:https://www.cnblogs.com/jxkshu/p/4442749.html
Copyright © 2011-2022 走看看