一顆糖引發的 BUG?

我的SQL語句出了點小問題,,

┌ BUG BUG BUG BUG BUG BUG ┐

select * from album_copy where info = '🍬'

結果是這樣的🥱

select * from album_copy where info = '🍬'
> 1267 - Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8mb4_0900_ai_ci,COERCIBLE) for operation '='
> 時間: 0s

└ BUG BUG BUG BUG BUG BUG ┘

這種情況該怎麼解決???

其實答案已經很明顯了 Mysql 已經在報錯提示中給出瞭解決方案
機翻:操作’='的非法排序組合(utf8_general_ci,隱式)和(utf8mb4_0900_ai_ci,強制)🤷‍♂️很通俗易懂

廢話不多說 解決辦法: MySQL數據庫字符集修改,把數據庫字符集的utf8修改爲utf8mb4,
utf8mb4支持1-4個字節 而utf8爲3字節

網上的解釋:
UTF- 8:Unicode Transformation Format-8bit,允許含BOM,但通常不含BOM。是用以解決國際上字符的一種多字節編碼,它對英文使用8位(即一個字節),中文使用24爲(三個字節)來編碼。UTF-8包含全世界所有國家需要用到的字符,是國際編碼,通用性強。UTF-8編碼的文字可以在各國支持UTF8字符集的瀏覽器上顯示。如果是UTF8編碼,則在外國人的英文IE上也能顯示中文,他們無需下載IE的中文語言支持包。
UTF8MB4:MySQL在5.5.3之後增加了utf8mb4的編碼,mb4就是most bytes 4的意思,專門用來兼容四字節的unicode。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章