$t = array('显卡');
直接用array_unique函数,等到的结果是乱码;用array_flip(array_flip(t))这种方法也是乱码,但是只用一次array_flip却显示正常这是为什么呢?

解决方案 »

  1.   

    你把文件存为utf-8的试试呢?我试过,不乱码。
      

  2.   

    我试过了不行,
    <?php
    include("config/config.php");
    @mysql_connect($host,$username,$userpass) or die(mysql_error()."数据库连接失败");
    @mysql_select_db($dbname) or die(mysql_error()."数据库激活失败");
    @mysql_query("set names 'utf8'");
    $w = mysql_query("select * from xinghao") or die(mysql_error());
    if(mysql_num_rows($w)){
    $i=0;
    while($n = mysql_fetch_array($w)){
    $info[$i] = $n;
    $i++;
    }
    for($i=0;$i<count($info);$i++){
    $tbn[$i] = $info[$i]['tablename'];
    }
    print_r($tbn);       //第一次输出$tbn;
    //$tbn = array_flip($tbn);
    for($j=0;$j<=count($tbn);$j++){
      for($i=0;$i<count($info);$i++){
      $u = 0;
      if($tbn[$j] == $info[$i]['tablename']){
      $tbn[$j][$u] = $info[$i]['pinpai'];
      $u++;
      }
      }
      }
    print_r($tbn);  //第二次输出$tbn;
    }
    ?>
    中间加了一个循环,两次输出的结果也不一样第一次的正常,第二次输出就成乱码了.