&tag(MySQL/utf8mb4);
*目次 [#x04c9e9a]
#contents
*関連ページ [#t0376644]
*参考情報 [#u28e6ad3]

*概要 [#vb7f5270]
-MySQLで絵文字などを扱うための文字コード。
-[[MySQL :: MySQL 5.6 Reference Manual :: 10.1.10.7 The utf8mb4 Character Set (4-Byte UTF-8 Unicode Encoding):http://dev.mysql.com/doc/refman/5.6/en/charset-unicode-utf8mb4.html]]によると、utf8プラスαの文字コードで、4バイトUTF-8文字コード以外は同じコード値になっているようだ。

*設定 [#m888b7c1]
**キーの767バイト制限の回避 [#c10de758]
-utf8だと1文字3バイトだけど、utf8mb4だと4バイトなので、主キーの制限767バイトを超えてしまうことがある。

***my.cnfの変更 [#p8ccda1f]
-これを回避する設定をmy.cnfに追加する(か、制限を超えないようテーブル定義を変更することもできる)。[[Rails を utf8mb4 で動かす | してみんとてす:http://3.1415.jp/mgeu6lf5]]
#pre{{
innodb_file_per_table = 1 
innodb_file_format = Barracuda 
innodb_large_prefix
}}

***テーブル設定の変更 [#ue7aaaf6]
-さらにテーブルごとのROW_FORMATを変更する必要がある。
 SELECT row_format from information_schema.tables where table_schema='データベース名';
 ALTER TABLE テーブル名 ROW_FORMAT=DYNAMIC;


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS