MySQLの文字コードをutf8mb4に変更
カテゴリー: ぷろぐらみんぐ/データベース
2017-01-28
MySQLの文字コードをutf8mb4に変更
MySQL 5.5以降
utf8 カラムには補助文字がないため、utf8 データからのアップグレードによる損失はないそうです。
できるようになること
🍰Andoridの絵文字がつかえるようになるそうです。
データベース変更
テーブル変更
列変更
サーバー設定ファイル
★utf8mb4になっているかの確認は、照合順序を確認することで確認できます。
サーバーの設定を確認する
サーバーの設定を確認する2 (utf8mb4がリモートサーバーで有効になっているかどうか)
「データベース」の照合順序を確認する
「テーブル」の照合順序を確認する
テーブルの「列」の照合順序を確認する
参考
MySQL
MySQL 5.5以降
utf8mb4
utf8 カラムには補助文字がないため、utf8 データからのアップグレードによる損失はないそうです。
できるようになること
🍰Andoridの絵文字がつかえるようになるそうです。
データベース変更
ALTER DATABASE データベース名 DEFAULT CHARACTER SET utf8mb4
COLLATE utf8mb4_general_ci;
COLLATE utf8mb4_general_ci;
テーブル変更
ALTER TABLE テーブル名 DEFAULT CHARACTER SET utf8mb4;
列変更
ALTER TABLE テーブル名 MODIFY 列名 DEFAULT CHARACTER SET utf8mb4;
サーバー設定ファイル
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
[client]
default-character-set = utf8mb4
default-character-set = utf8mb4
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
[client]
default-character-set = utf8mb4
★utf8mb4になっているかの確認は、照合順序を確認することで確認できます。
サーバーの設定を確認する
use データベース名
show variables like 'char%';
show variables like 'char%';
サーバーの設定を確認する2 (utf8mb4がリモートサーバーで有効になっているかどうか)
SHOW CHARACTER SET LIKE 'utf8mb4'
「データベース」の照合順序を確認する
show variables like 'character_set_database'
結果列の 'Value' 値を確認する(utf8mb4)
結果列の 'Value' 値を確認する(utf8mb4)
「テーブル」の照合順序を確認する
SHOW TABLE STATUS LIKE 'テーブル名'
結果列の 'Collation' 値を確認する(utf8mb4_general_ci)
結果列の 'Collation' 値を確認する(utf8mb4_general_ci)
テーブルの「列」の照合順序を確認する
SHOW FULL COLUMNS FROM 'テーブル名'
結果列の 'Collation' 値を確認する(utf8mb4_general_ci)
結果列の 'Collation' 値を確認する(utf8mb4_general_ci)
参考
- utf8mb4 文字セット (4 バイトの UTF-8 Unicode エンコーディング) (5.6 ja)
- The utf8mb4 Character Set (4-Byte UTF-8 Unicode Encoding) (5.5 en)
MySQL