<?php  $eurl = mb_convert_encoding("一",'utf8','gb2312');echo $eurl;
?>目的就是把中文转换成utf8编码,怎么试了试不行呢

解决方案 »

  1.   

    $eurl = mb_convert_encoding("一",'utf-8','gb2312'); //这样呢?
      

  2.   

    运行后的结果就是:一 
    是不是要在代码里再设置utf8格式呢?
      

  3.   

    <?php>
    $DBserver         = "localhost";
    $DBname           = "wikidb";
    $DBuser           = "root";
    $DBpassword       = "";$con = mysql_connect("localhost","root","");mysql_select_db("new");$query = mysql_query("select old_text from pagecontents limit 1,1");$s = mysql_fetch_array($query);
    $s = iconv('gbk', 'utf-8', $s);
    $ch = 'u8' . current(unpack('H*', $s));echo $ch;
    ?> 
    Warning: iconv() expects parameter 3 to be string, array given in: $s = iconv('gbk', 'utf-8', $s);
      

  4.   

    iconv第三个参数是字符串。而你传了数组。$s = iconv('gbk', 'utf-8', $s['old_text']);
      

  5.   

    $s = mysql_fetch_array($query);
    $s = iconv('gbk', 'utf-8', $s['old_text']);另外请确认你从数据库读出的内容是 gbk 编码的
      

  6.   

    编码是gbk的
    比如数据库里的数据是“一二三四”,转换utf8之后就是
    u8e4b880e4ba8ce4b889e59b9b但是我想得到这样的结果u8e4b880 u8e4ba8c u8e4b889 u8e59b9b
    该怎么办呢
      

  7.   

    能这样处理嘛每一个utf8码前面都有一个字母e,那么我这样替换replace "e" to " u8e"(空格+u8e);多谢楼上2位大牛经常帮我 :)
      

  8.   

    可以的。
    $ch =  current(unpack('H*', $s));echo ltrim(str_replace('e',' u8e',$ch));
      

  9.   

    那应该写个函数,使用起来方便些
    function gbktou8($s) {
      $s = iconv('gbk', 'utf-8', $s);
      $s = preg_replace('/./sue', '" u8".current(unpack("H*","$0"))', $s);
      return $s;
    }echo gbktou8('一二三四');
    u8e4b880 u8e4ba8c u8e4b889 u8e59b9b
      

  10.   

    转编码遇到这样的数据:e58a9e
    该怎么排除处理呢?最后一个字母也是e
      

  11.   

    求解答, $ch = current(unpack('H*', $s)); 用这个current是为什么
      

  12.   

    http://www.w3school.com.cn/php/func_array_current.asp
      

  13.   

    用iconv函数iconv("gb2312","UTF-8",$username);
      

  14.   

    噢噢,unpack返回的是数组,学习