讓Mysql資料庫編碼以UTF-8為準
在Mysql建立都是UTF-8的資料表除了必須將Mysql編碼預設成UTF-8外,在網頁程式中也必須指定它的編碼方式,在寫入、取出時必須都透過UTF-8編碼來處理。以PHP程式為例,必須在連接資料庫的程式後面加上這三行才行,就能達到前端、後端編碼的一致性:
mysql_query("SET NAMES 'UTF8'");
mysql_query("SET CHARACTER SET UTF8");
mysql_query("SET CHARACTER_SET_RESULTS=UTF8'");
以安裝PHPBB為例,就必須先建立好資料庫,在安裝時,將include裡面的db.php加上這三行,當安裝結束後,建立的中文字,在網頁上看到的,以及在資料庫管理軟體看到的就會是一樣的字元,而不是在資料庫管理軟體中看到的是變成亂碼。
不過這適合還沒有安裝的時候套用,這樣建立的資料表才都是正確的。如果你已經安裝過了,這時想要改,只有透過另外寫程式導出資料表,在使用符合新資料庫編碼格式的程式導入才行。
Reference: http://yblog.org/archive/index.php/5843 新版似乎要將
mysql_query("SET NAMES 'UTF8'");
改為
mysql_query('SET NAMES utf8');
才行!
頁:
[1]