我将sql文件导入mysql后,在mysql客户端里查看都是乱码,但读到页面上显示是正常的。然后我就把数据库的编码改成了UTF-8,然后重新导入了sql,现在mysql客户端里的乱码没了,但读到页面上后就全是乱码了。
请问改如何解决这个问题的?是怎么引起的

解决方案 »

  1.   

    统一编码,页面上也设成UTF-8
    mysql_query("SET NAMES UTF8");
      

  2.   

    MYSQL有编码,WEB页面同样也有编码,很明显你两个地方的显示是不一样。既然你把数据库编码改成了UTF-8,那么PHP在处理并显示数据库的时候
    <?php
    mysql_connect();
    mysql_select_db();
    mysql_query("set names utf8");
    ?>
    并且把WEB输出编码设置为utf8的格式<META http-equiv=Content-Type content="text/html; charset=UTF-8"></HEAD>
      

  3.   

    面页,数据库,都改为UTF-8
    数据库连接加上mysql_query("SET NAMES UTF8");一般就没问题了
      

  4.   

    楼上2位,再问一下啊 ,页面输出改成UTF-8在哪里改?我是新手 谢谢
      

  5.   

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    应该是这行代码吧
      

  6.   

    页面里已经加上utf-8了 
    数据库连接也加了mysql_query("SET NAMES UTF8");但还是不行
    我这phpmyadmin里看数据库和表的编码是utf-8_general_ci  这个有影响吗?
      

  7.   


    首先看看PHP服务器中,默认my.cnf(一般是/etc/my.cnf)中的编码设定,客户端默认编码改成utf8还有就是PHP文件的编码,最好也是UTF-8
      

  8.   

    把三楼的再补充下
    MYSQL有编码,WEB页面同样也有编码,
    这两个地方应保持编码统一。
    首先先把数据库编码改成了UTF-8或者gb2312,
    那么PHP在处理并显示数据库的时候
    <?php
    mysql_connect();
    mysql_select_db();
    mysql_query("set names utf8");
    或者:
    mysql_query("set names gb2312");
    ?>
    并且把WEB输出编码设置为utf8或者gb2312的格式
    <META http-equiv=Content-Type content="text/html; charset=UTF-8"> </HEAD>
    <META http-equiv=Content-Type content="text/html; charset=gb2312"> </HEAD>
    它们两个应保持一致,数据库的是utf8,那么WEB页面也设置成utf8;
    gb2312同utf8用法一样
    群:85758199
      

  9.   

    需要三码统一才能保证不会乱数据库的编码,页面的编码,文件的编码.还不懂,看我的博客里的文章:http://www.chjin.com.cn/article.asp?id=122