| 特性 | utf8_unicode_ci | utf8_general_ci |
|---|---|---|
| **Unicode 標準支援** | 部分支援 UCA (Unicode Collation Algorithm) | 不支援,僅逐字符比較 |
| **擴展字符支援** (如德語 ß) | ✅ `ß = ss` (語義正確) | ❌ `ß = s` (簡化處理) |
| **組合字符/附加符號** | 部分支援 | 不支援 |
| **比較速度** | 較慢 (複雜算法) | **較快** (簡單逐字符) |
| **準確性** | **高** (符合語言學規範) | 低 (僅適用基礎拉丁字母) |
| **適用語言** | 德語、法語、俄語、越南語等複雜語言 | 純英文、中文、簡單西歐語言 |
-- 兩者相同處理
Ä = A Ö = O Ü = U
-- 差異處
ß (德語銳音符)
utf8_general_ci: ß = s -- 錯誤
utf8_unicode_ci: ß = ss -- 正確
[mysqld]
character_set_server = utf8mb4 # 推薦 utf8mb4 (支援 Emoji)
collation_server = utf8mb4_general_ci # 或 utf8mb4_unicode_ci
init_connect = 'SET NAMES utf8mb4'
SHOW VARIABLES LIKE 'character_set_%';
SHOW VARIABLES LIKE 'collation_%';
期望輸出:`character_set_server=utf8mb4`、`collation_server=utf8mb4_general_ci` (或 `_unicode_ci`)。