【MySQL】CHARSET:文字コードの意味・使い分け(utf8, utf8mb4)
character set(文字コード)は、データベース、テーブル、カラムに設定可能です。
文字コードについて、特にutf8とutf8mb4について紹介します。
目次から読む
utf8の特徴
utf8は本来4bytesの文字コードですが、mySQLでは3bytesになります。
そのため、一部表示できない文字があります。(絵文字など)
utf8mb4の特徴
utf8mb4は4bytesになるので、絵文字も含めて表示できます。
MySQLのこれからのバージョンでは、utf8が4 バイトのutf8になり、
3バイトのutf8を指定するときにutf8mb3とする可能性があります。
データベースへ文字コードを指定する
-- データベースの文字コード指定
create database utf8mb4_db
character set 'utf8mb4';
データベースの文字コードを指定した場合、テーブルなども同じ文字コードになります。
テーブルへ文字コードを指定する
-- テーブルへの設定
create table tbl_name() character set 'utf8mb4';
-- テストテーブルの作成
use データベース名;
create table テーブル名(
mb4 varchar(30) character set 'utf8mb4'
);
文字コードを削除する
-- 削除
drop table テーブル名;
incorrect string value
上のエラーが出た場合、文字コードが原因の可能性があるので、確認しましょう。