$conn = mysql_connect("localhost","root","1234") or die("不能串連資料庫伺服器:".mysql_connect_errror());
mysql_select_db("messtest",$conn);
$results = mysql_query("select * from gbbook");
mysql_query($results,$conn);
mysql_query("setnames 'utf8'",$conn);//使用中文編碼;
while($row = mysql_fetch_row($results)){
echo $row[0]."".$row[1]."".$row[2]."".$row[3]."".$row[4];
echo"
";
}
mysql_close($conn);
?>
回複討論(解決方案)
mysql_query("set names 'utf8'",$conn);//使用中文編碼;
試過了,沒用。
mysql_query("setnames 'utf8'",$conn);//使用中文編碼;
mysql_query("setnames 'utf8'",$conn);
mysql_query("set names 'gb2312'",$conn);
mysql_query("set names 'gbk'",$conn);
全都試過,都沒用啊!我phpadmin裡面用的是gb2312;
將瀏覽器和php檔案都統一為gbk編碼,首行加上:
header("content-type:text/html;charset=gbk")
你看看你的mysql安裝時的編碼格式是什麼在(MySQL的安裝目錄下)my.ini裡面找到"default-character-set"(有兩處)看假如是latin改為gbk 或者 utf-8,中文支援的編碼格式可以是gbk utf-8
//假如是純php不包括html代碼就加上下面這段代碼
header("content-type:text/html;charset=gb2312")或者header("content-type:text/html;charset=gbk")
//如果既有php還包括html代碼就只加上下面這段代碼
phpmyadmin是會自己調整的,你得確認你的程式是什麼編碼,你的資料庫是什麼編碼。要統一。
最好確認下你的資料庫編碼和頁面顯示編碼。編碼要一致。
都按上述的改過之後,還是不行,還有其他辦法沒有,是什麼問題???
1.my.ini裡面已經將latin改成gbk;
2.資料庫我原先用的是gb2312,現在也改成gbk了
3.這段字碼頁加了
沒有用啊,求大神再指教
一般來說。。
1.頁面的字元編碼
2.資料庫的字元編碼
3.讀取資料庫代碼設定的字元編碼
這三者一致就不會出現問題
你好 我知道你哪裡出錯了。我此時正碰的你的問題但是我解決了。
你有這麼一段:mysql_query("setnames 'utf8'",$conn);//使用中文編碼;不僅寫錯了,而且你只設定了 setnames資料表為 utf8 編碼,而不是整個資料庫。你應該刪除然後加上mysql_query("SET NAMES utf8");在mysql_query($results,$conn);的下面。
我是新手你也是。
我把網頁設定為 utf8 但是我的資料庫欄位設定的是gbk。同樣沒有出錯,能夠讀取漢子。
頁面編碼也要改
最前面加上
header("content-type:text/html;charset=utf-8");
資料庫加上
mysql_query("set names 'utf8'");
mysql_query("setnames 'utf8'",$conn);//使用中文編碼;
這句話應該放在串連資料庫後面
$conn = mysql_connect("localhost","root","1234") or die("不能串連資料庫伺服器:".mysql_connect_errror());
mysql_select_db("messtest",$conn);
mysql_query("setnames 'utf8'",$conn);//使用中文編碼;
...
...