事實上 UTF-8 和 ASCII 是相容的,所以說即時你還在用 MySQL 3.23 你一樣也可以用 UTF-8 的 phpBB 或是其他的程式,不會有任何的問題。對於 PgSQL 或是其他 DB 系統也應該是這樣,但是 MSSQL 可能就是個例外 (怎麼又是 MS 啊?)
這篇是我第一次看到 MSSQL 出槌的狀況,才發現 MSSQL 雖然核心有支援 Unicode,卻沒有辦法正常處理 UTF8 的 input。會爛掉可能是因為 MSSQL 把部分的 UTF8 當成了 2 bytes 的中文字去處理,然後對應不出正確的字,就爛了 Orz
除了這個問題之外,還沒有碰到其他不支援 UTF-8 的 DB,所以我認為把 PHP 程式改成用 UTF-8 來 I/O 是很正確的趨勢,不管是對開發者或是使用者來說,這會比單純去做一些 DBCS 或是多國語系修正之類的來得省事和方便。
--
PS. 資料變大的問題是難免的,但是官方的說法是最多大小變成 1.5 倍,我個人認為影響還不算太大。如果真的會因此讓效率變低的話,我認為升級硬體會比較有用
