数库表,设置成utf8_general_ci  
字段也是utf8_general_ci  
php页面也是utf8编码
连接数据库也加了mysql_query("set names 'utf8'");为什么中文显示就是乱码呢我怀疑是数据库编码出错,但是又没有权限修改数据库编码require_once("conn.php");
$db=new mysql();
$result=mysql_query("select intro from cases where id='2' limit 1");
$row=mysql_fetch_array($result);
echo $row[0];

解决方案 »

  1.   

    php 页面也是utf8编码?你这个上面看不出来嘛...header 一下
      

  2.   

    header('Content-Type:text/html;charset=utf-8');
    加了这个,没有用我把程序和数据导到本地,本地运行是正常的中文,真郁闷
      

  3.   

    美橙互联mysql数据库默认是什么编码?
      

  4.   

    如果安妮的代码 echo $row[0]; 得到的是乱码
    那么请帖出 echo base64_encode($row[0]); 的结果,帮你分析一下
      

  5.   

    加base64_encode  显示结果是 w5XDosOKw4fDjsKqw4rCssODwrTDhMOY
      

  6.   

    mysql_query("set names 'utf8'");这句是放在哪?难道是conn.php里?如果是的话就错了,因为紧接着一句$db=new mysql();重新覆盖了原有设置,建议在conn.php里实例化mysql连接对象,然后在实例化成功之后加上:mysql_query("set names 'utf8'");要把顺序理清楚
      

  7.   

    我怀疑是数据库编码出错,但是又没有权限修改数据库编码
    --------------------------------
    不用怀疑,你用phpmyadmin查看你的数据库数据,网页设置查看编码为utf-8,如果数据库数据本身是乱码,就是你导入/插入数据时候出问题了。
      

  8.   

    用PHPmyadmin能修改数据库编码吧 我就修改过
    实在不行 把字符集统一后 重新导入一次SQL
      

  9.   

    通过phpmyadmin管理查看是正常的中文
    通过php读出来,就是乱码
      

  10.   


    mysql_query()前添加mysql_query("SET NAMES UTF-8")
      

  11.   

    我知道是怎么回事了!
    请参考 http://www.th7.cn/Article/sj/my/200906/356984.html$s = base64_decode('w5XDosOKw4fDjsKqw4rCssODwrTDhMOY');
    echo iconv('utf-8', 'latin1', $s);
    输出:这是为什么呢
    编码类型是 gbk你的数据库是默认的瑞典语的 latin1
    你在插入数据时没有声明语言类型,而插入的数据是 gbk 编码的
    读取时又声明为 utf8,所以导致乱码
    大致如此,把自己都搞糊涂了
      

  12.   

    只要你不使用形如 mysql_query("set names 'utf8'"); 的指令,并不强行指定页面编码,就可以了