utf8mb4_general_ciとutf8mb4_unicode_ciの違い
utf8mb4_general_ciとutf8mb4_unicode_ciの違いってなんだっけ?と思った時の覚書。 環境: MariaDB 10.5.9 参考サイト MariaDB(MySQL)の照合順序の話 Supported Character Sets and Collations - MariaDB Knowledge Base utf8mb4_general_ciとutf8mb4_unicode_ciの違いは、 文字比較と照合順序の違い 。 両方とも半角大文字と半角小文字は同じ文字と判断するが、utf8mb4_general_ciはカタカナとひらがなを別文字として扱う。 いざとなればSQL文を発行するときにcollateで指定できるので、generalかunicodeかはそこまで神経質にならなくても良さそう。 基本はutf8mb4_general_ciでいい。 設定・確認方法 # less /etc/my.cnf.d/mariadb-server.cnf [server] character-set-server = utf8mb4 collation-server = utf8mb4_general_ci 設定変更したら再起動が必要 # systemctl restart mariadb データベース変数を確認する(phpMyAdminでもOK)。 # mysql -p > show variables like "%coll%"; > show variables like "%char%"; ちなみにWordPressのwp-config.phpにあるDB_COLLATEは設定しなくてもデータベースのデフォルト値を取得して設定する。 【関連記事】 CentOS Stream 8 + Nginx + PHP + MariaDB + Postfixの環境を構築(2021年版) iPhoneから投稿したときに特殊文字以降が表示されない