【老葉觀點】若為了節省磁盤空間,則建議選擇latin1。建議選擇utf-8通常是為了所謂的“通用性”,但事實上用戶提交的utf-8數據也一樣可以以latin1字符集存儲。
用latin1存儲utf-8數據可能遇到的麻煩是,如果有基于中文的檢索時,可能無法100%準確(老葉親自簡單測試常規的中文完檢索全不是問題,也就是一般的中文對比是沒問題的)。
用latin1字符集存儲utf-8數據的做法是:在web端(用戶端)的字符集是utf-8,后端程序也采用utf-8來處理,但?character_set_client、character_set_connection、character_set_results、character_set_database、character_set_server 這幾個都是 latin1,且數據表、字段的字符集也是latin1。或者說數據表采用latin1,每次連接后執行?SET NAMES LATIN1?即可。
【參考】:[小談MySQL字符集](http://imysql.com/charset_tips)。