歡迎來到程式設計問答網 Code.QASpace.Com,您可以在此提問和回答與程式設計相關的問題。

您需要虛擬主機服務嗎?
無限空間虛擬主機(unethost.com)提供SSD加速、無限流量的虛擬主機服務。

collation 'latin1_general_ci' is not valid for character set 'utf8'

0 投票

這一兩天有安裝論壇的插件,安裝完之後,程式出現了下列的錯誤訊息,該如何處理呢?

collation 'latin1_general_ci' is not valid for character set 'utf8'

時間: 2014年 2月 26日 作者: robot (1,180 積分)

1個回答

0 投票
在mysql的資料庫中,資料會指定字元集(character set)。以中文語系的話,最好是用utf8。而每一種字元集(character set),都會有若干種可以搭配的collation
 
collation的意思是「排序/比較規則」。因為字元集(character set),其實可以有多種的排序/比較規則(collation)。
 
最常見的collation就是兩種:
(1) 區分大小寫
(2) 不區分大小寫
 
上述的錯誤:collation 'latin1_general_ci' is not valid for character set 'utf8'
基本上常常發生於php的程式產生的SQL語句,使用了latin1_general_ci這樣子的collation,而這樣子的collation只能搭配latin1的字元集使用。常發生於php的程式碼比較舊的情況。修正的方法,就是要找出是哪些php的程式碼會產生錯誤的SQL語句,並且加以修正。
 
已回復 2014年 2月 26日 作者: humorless (2,220 積分)
...