我注意到我的 MODX 資料庫在資料庫及其表中仍然使用 latin1 字符集。我想將它們轉換為 utf8mb4 并相應地更新排序規則。
不完全確定我應該如何做到這一點。這樣對嗎?
- 我更改每個表以使用 utf8mb4 和 utf8_unicode_ci?
- 我更新了資料庫的默認字符集和排序規則。
索引會自動更新嗎?還有什么我應該注意的嗎?
一個額外的問題:最合適的最新 utf8_unicode 排序規則是什么?西方語言應該有效。
uj5u.com熱心網友回復:
更改表或架構的默認字符集不會更改列本身中的資料,只會更改下次添加表或向表添加列時應用的默認值。
要轉換當前資料,請一次更改一張表:
ALTER TABLE <name> CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
歸類 utf8mb4_0900_ai_ci 比早期的歸類更快(至少根據檔案),并且它是最新和最準確的。此排序規則需要 MySQL 8.0。
MySQL 5.7 中最新的排序規則是 utf8_unicode_520_ci。
像這樣的表轉換會重建索引,因此您無需執行任何其他操作。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/322818.html
下一篇:對行求和以生成表中的列
