mysql中文無法讀取。。。
這是mysql資料庫的編碼方式
這是後台資料的結果,不使用中文的話會正常寫入到後台,使用中文的話就不能被寫入。(注意看倒數幾排資料)
直接向資料庫寫入中文的話,會顯示出來。
PHP代碼部分
if(isset($_POST['B1']))
{
$username=$_POST["username"];
$message=$_POST["message"];
if($username=="")
{
echo "";
if($message=="")
{
echo "";
}
}
else
{
$addtime=date("y-m-d h:m:s");
$id=mysql_connect("localhost","root","1234");
mysql_select_db("gbook",$id);
$query="insert into message(author,addtime,content,reply) values('$username','$addtime','$message','')";
$result=mysql_query($query,$id);
mysql_close($id);
//echo "result=".$result;
echo "";
}
}
------解決方案--------------------
$username=iconv('gb2312','utf-8',$_POST["username"]);
$message=iconv('gb2312','utf-8',$_POST["message"]);
------解決方案--------------------
資料庫編碼是 utf8
直接向資料庫寫入中文的話,會顯示出來。(追後一行)
phpmyadmin 會做編碼設定,自然沒有問題
你的代碼沒有做編碼設定,所以出現問題是很正常的!
當檔案編碼是 gbk (windows 下的 ANSI)時應有
mysql_query('set names gbk');
當檔案編碼是 utf-8 時應有
mysql_query('set names utf8');