首頁 繪圖設計 工作閒聊 比賽活動 美術討論 標籤 圖片
MySQL Emoji 使用where like '%🎃%' CI搜尋:utf8mb4_unicode_520_ci
MySQL Emoji 使用where like '%🎃%'  CI搜尋:utf8mb4_unicode_520_ci


Type(Type) 2019/10/21 00:06

MySQL 要用 where like '%🎃%' 搜尋emoji:
collate 請用 "utf8mb4_unicode_520_ci"



0. Goal: Using emoji like 🎃 😍 🥰 in Tags or HashTag

1. 通常使用 utf8mb4 就是為了 Emoji

2. 假設你需要做到 CI (Case Insensitive),你可能會選用 utf8mb4_general_ci 或者 utf8mb4_unicode_ci 作為不分大小寫的 COLLATE

3. 但是這又會讓 Search/Sort 出問題 e.g. 🎃 vs. 🤡
這兩者無法同時存在,會被當成 CASE Insensitive,很奇怪

你用 utf8mb4_bin 可以解決 COLLATE的問題,但是它是 Case-Sensitive
會分大小寫,如果你要兼顧 ASCII letter CI (e.g. hashtag 我們會做 CI)
這裡 bin 就不適合。

4. 為了兼顧 Search COLLATE 以及 Case-Insensitive
此時建議使用 utf8mb4_unicode_520_ci
可以解絕大部分的問題,當然效能會降低一點

e.g. https://vovo2000.com/tags/%F0%9F%A4%A1/
e.g. https://vovo2000.com/tags/%F0%9F%8E%83/

#hashtag

#hashtag by Type
(6,469 views)
[更多討論] 討論區 Windows, Linux, Perl, PHP, C/C++, Driver, Web 理論、應用、硬體、軟體

"MySQL Emoji 使用where like '%🎃%' CI搜尋:utf8mb4_unicode_520_ci" 傳統頁面(電腦版)

首頁 繪圖設計 工作閒聊 比賽活動 美術討論 標籤 圖片
傳統桌面版 [ 登入/註冊 ]
© Vovo2000.com Mobile Version 小哈手機版 2024