最終更新:2018-05-16 (水) 22:01:28 (91d)  

utf8mb4_general_ci はてなブックマークを見る
Top / utf8mb4_general_ci

utf8mb4のデフォルトCollation

メモ

  • 大文字小文字を区別しない

メモ

  • MySQL 5.0とかMySQL 5.1とかは、UTF-8として3バイトまでしか対応していない
  • UTF-8で4バイトの文字を扱おうと思ったら、MySQL 5.5.3以降を使い、さらに"utf8mb4"を指定する必要がある。
  • JIS X 0213に含まれる漢字がようやく扱える
  • デフォルトのutf8_general_ci?を置き換えるという案は過去のデータと互換性がなくなるという理由で却下され、utf8mb4という文字コードが新たに追加されることとなった。

既存のUTF-8のデータベースをutf8mb4に変更

  • my.cnf で utf8 を指定している箇所を utf8mb4 に変更し、MySQLを再起動
    alter database データベース名 default character set utf8mb4;
  • でデータベースの文字コードを変更
    alter table テーブル名 default character set utf8mb4;
  • でテーブルの文字コードを変更
    alter table テーブル名 modify カラム名 ... character set utf8mb4 ...
  • でカラムの文字コードを変更

確認

  • show variables like '%char%';

参考

関連

  • utf8_general_ci?
  • utf8mb4_bin? - 全文字を区別する
  • utf8mb4_unicode? - ひらがな、カタカナ、濁点有無、全角、半角を区別 しない(は=ば=ぱ=ハ=バ=パ=ハ)