因为你的php在操作数据库时用的是gb2312编码。
解决方法一:将php文件存为UTF8编码(文件另存为对话框的下方有这个选项)
解决方法二:修改phpmyadmin的libraries/select_lang.lib.php,将$available_languages中的“'zh-gb2312'=>”改为“'zh-gb2312-utf-8=>”,将$mysql_charset_map中的“'gb2312'=>'gb2312'”改为“'gb2312'=>'latin1'”,使用时选择相应的界面语言。

解决方案 »

  1.   

    解决方法一:将php文件存为UTF8编码(文件另存为对话框的下方有这个选项)
    这个用文本文档来另存比较安全.
      

  2.   

    回:zjerryj
    因为你的php在操作数据库时用的是gb2312编码。 
    解决方法一:将php文件存为UTF8编码(文件另存为对话框的下方有这个选项) 
    解决方法二:修改phpmyadmin的libraries/select_lang.lib.php,将$available_languages中的“'zh-gb2312'=> ”改为“'zh-gb2312-utf-8=> ”,将$mysql_charset_map中的“'gb2312'=> 'gb2312'”改为“'gb2312'=> 'latin1'”,使用时选择相应的界面语言。
    =================================================================================================两种方法都试过了,结果一样
    应该是PHP程序的问题,同样的数据库试了下sablog的源码.前后台显示均一致
      

  3.   

    回楼上的朋友:
    创建数据库时选的是utf8_general_ci
      

  4.   

    在连接数据库后..加上
    mysql_query("SET NAMES 'utf8'");
    就行了..
      

  5.   

    怎么解决的啦,我也遇到了<?
    /*
    $con = mysql_connect("localhost","root","12341qaz");
    if (!$con)
    {
    die('Could not connect: ' . mysql_error());
    }
    mysql_select_db("guideway", $con);
    mysql_query("SET NAMES 'utf-8'");
    $sql="insert into guideway_menulist(menuitem,url,parentids) values ('极品五笔','adsfadf.com',',1,')";
    if (!mysql_query($sql,$con))
    {
    die('Error: ' . mysql_error());
    }
    echo "1 record added";
    mysql_close($con);*/
    $dbh = @mysql_connect("localhost:3306","root","12341qaz");
    if(!$dbh){die("error");}
    @mysql_select_db("guideway", $dbh);
    $q = "SELECT * FROM guideway_menulist";mysql_query("SET NAMES 'utf-8'");
    $rs = mysql_query($q, $dbh);
    if(!$rs){
    die("Valid result!");
    }
    echo "<table>";
    echo "<tr><td>ID</td><td>Name</td></tr>";
    while($row = mysql_fetch_row($rs)) echo "<tr><td>$row[0]</td><td>$row[1]</td></tr>";
    echo "</table>";
    ?>这就是用的这段代码,上面屏蔽的部分是插入数据,下面部分是读取数据,我的php文件也是utf-8的编码格式现在出现的问题是: 用这个程序插入的数据和读取出来都显示正常.但是在数据库中用工具  Navicat Lite for MySQL,SQLyog Enterprise都试过了,插入的数据都显示为乱码.