2009/08/04

許功蓋問題,在不同的 MySQL 版本之下,如何解決

(撰寫於 2006-12-08 )

經過實地測試,終於找出方法,針對不同的 MySQL 版本
PHP 該如何應對,才不會出現許功蓋的問題...


MySQL 4.0.X 版本以下:

my.ini (windows), my.cnf (Unix) 設定 : default-character-set=latin1
ASCII92 處理 : 不需加上

my.ini (windows), my.cnf (Unix) 設定 : default-character-set=big5
ASCII92 處理 : 加上


MySQL 4.1.X 版本以上:

WIndows 版本 :
  • (MySQL方面) 首次安裝 MySQL Server的時候請把所有和 character-set 有關的部份,都設定成 utf8
  • (PHP方面) mysql_connect() 之後,先加上 mysql_query("SET NAMES 'big5'");
  • (PHP方面) 對於所有需要存取中文的資料,需要加上 ASCII92 的特別處理,有關 ASCII92 處理的函數請看此篇

從4.1這個版本之後,MySQL 加上了多語系支援的功能
MySQL 4.1 對於字元集支援 (Character Set Support) 分為兩個方面:
字元集 (Character set) 和文字校對 (Collation)

沒有留言:

張貼留言