各位經常瀏覽網頁,不覺得網頁編碼是很重要的事情,但是在PHP與MySQL的世界裡,網頁編碼是很重要的事情!
PHP5時代支持UTF-8編碼,而PHP6則將UTF-8設定為預設編碼,對於東亞地區雙位元的文字,可提供更好的支援。MySQl 4.1版之後不僅支持UTF-8編碼,而且更進一步地可在資料庫、資料表、欄位上設定語系,也可在查詢時指定語系。因為MySQL4.0(含)之前是不管編碼(預設是latin1)的,網頁要如何顯示,是交由html的<meta>標籤與編碼格式來決定的。所以MySQL的這一個改變,讓很多網站在升級之後,就會變成亂碼顯示。
但MySQL為何要這樣做呢?MySQL這樣做的目的,是讓您可在一個資料庫內存放不同編碼的資料。所以網頁必須設定好編碼,PHP才可依照您指定的編碼作資料存取,但如果沒有設定好,那網頁或者資料庫裡將變成火星文而難以閱讀。
很多人不願讓PHP與 MySQL升級,就是因為編碼。其實,隨者網路的發達,除非您的網站有特別限制,否則可預期會有來自全球各地的朋友觀看您的網頁或留言。很多公司現在將公司的部門分散在全球各地,或者要滿足全球各地的客戶,網頁上必須能顯示正體中文、簡體中文、日文、泰文,那該怎麼辦?







