由於在 MySQL 4.1 以後,如果是使用 UTF-8 編碼建立的資料表,
都必須在所有查詢前透過
mysql_query('SET NAMES utf8') 這段語法,才能正常運作
如果你的程式必須同時在兩種不同版本的 MySQL 運作
比方說,測試 server 是較新的 4.1.xxx ,
而正式對外營運的 server 則是舊的 3.2.xxx
這時候可以藉由下面這段程式,來自動判別要不要加上 'SET NAMES utf8'
$rs = mysql_query('SELECT VERSION() AS mysql_version');
list($mysql_version) = mysql_fetch_row($rs);
if($mysql_version >= 4) mysql_query('SET NAMES utf8');
參考資料 : PHP Manual
沒有留言:
張貼留言