, ,

讓Mysql資料庫編碼以UTF-8為準

Posted by

讓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加上這三行,當安裝結束後,建立的中文字,在網頁上看到的,以及在資料庫管理軟體看到的就會是一樣的字元,而不是在資料庫管理軟體中看到的是變成亂碼。(例如phpmyadmin)

不過這適合還沒有安裝的時候套用,這樣建立的資料表才都是正確的。如果你已經安裝過了,這時想要改,只有透過另外寫程式導出資料表,在使用符合新資料庫編碼格式的程式導入才行。

這個方法對於大部分的cms(內容管理系統)都是有用的,也減少mysql與utf8之間的小小問題。

英文語系由於可以不需要考慮多國語言的問題,所以沒有設置utf-8也是能夠運作,而繁體中文、簡體中文、日文等語系,為了能夠同時在資料庫中處理方便,使用utf-8語系格式是最好的選擇之一,實際應用上,有時候就得作上述的處理才能順利完成。

歡迎留下您的想法與意見:
新網站新氣象,會想到緞帶教堂的美好
一直很喜歡的緞帶教堂 Ribbon Chapel
2006 年 1 月
 1
2345678
9101112131415
16171819202122
23242526272829
3031