其實是之前就有遇過的問題,但是因為以前有前人寫好語法就直接copy沒有記,直到昨天有需要又找不到哪裡有用過,才認真的找了一下資料。
簡單的說,會遇到這個問題是因為資料庫使用的語系與程式預設與mysql連線時要使用的語系不一樣,這會造成中文字在mysql裡是正常的,但透過php抓出來的卻是問號。解決這樣的問題依php版本不同有不同的方式。
php5:mysql_set_charset(charset,resource)
php4:mysql_query('SET NAMES charset', resource)
範例:假設連線時要設定語系為utf8
//建立與mysql db的連線
$dbConnection=mysql_connect("localhost","acc","password");
//選擇要操作哪一個資料庫
mysql_select_db("dbname",$dbConnection);
//如果是php5
mysql_set_charset('utf8',$dbConnection);
//如果是php4
mysql_query('SET NAMES utf8', $dbConnection);
這樣子把資料庫裡的中文字抓出來時,就會正常顯示了。
中文還真是麻煩的東西啊!
2009年6月26日 星期五
設定與mysql連線所使用的語系
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言