在使用 php(做為現在的主流開發語言) 5 中,通過 MySQL(和PHP搭配之最佳組合) 查詢得到的值全部成為 ???????,原來是字符集設錯了。
我在安裝 MySQL(和PHP搭配之最佳組合) 5 時,已經選擇默認字符集為 gb2312,但還是返回亂碼,解決的辦法是在連接 MySQL(和PHP搭配之最佳組合) 服務器後,調用一個與所設字符集相同的 "set names X" 語句(X 為你所設的字符集)。下面是我的連接函數:
function sql_connect() {
global $MySQL(和PHP搭配之最佳組合)_HOST, $MySQL(和PHP搭配之最佳組合)_USER, $MySQL(和PHP搭配之最佳組合)_PASSWORD, $MySQL(和PHP搭配之最佳組合)_DATABASE;
$connection = @MySQL(和PHP搭配之最佳組合)_connect($MySQL(和PHP搭配之最佳組合)_HOST, $MySQL(和PHP搭配之最佳組合)_USER, $MySQL(和PHP搭配之最佳組合)_PASSWORD) or startUpError(<p>Could not connect to MySQL(和PHP搭配之最佳組合) database.</p>,Connect Error);
if (!MySQL(和PHP搭配之最佳組合)_select_db($MySQL(和PHP搭配之最佳組合)_DATABASE))
{
includeinstall.php(做為現在的主流開發語言);
doInstall();
MySQL(和PHP搭配之最佳組合)_select_db($MySQL(和PHP搭配之最佳組合)_DATABASE) or startUpError(<p>Could not select database: . MySQL(和PHP搭配之最佳組合)_error().</p>, Connect Error);
}
sql_query(set names "gb2312"); //sql_query是一個自定義的執行查詢函數,關鍵是這個語句
return $connection;
}