因为你的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文件存为UTF8编码(文件另存为对话框的下方有这个选项)
解决方法二:修改phpmyadmin的libraries/select_lang.lib.php,将$available_languages中的“'zh-gb2312'=>”改为“'zh-gb2312-utf-8=>”,将$mysql_charset_map中的“'gb2312'=>'gb2312'”改为“'gb2312'=>'latin1'”,使用时选择相应的界面语言。
这个用文本文档来另存比较安全.
因为你的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的源码.前后台显示均一致
创建数据库时选的是utf8_general_ci
mysql_query("SET NAMES 'utf8'");
就行了..
/*
$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都试过了,插入的数据都显示为乱码.