MySQL/MariaDB 文字コードの設定
環境 CentOS 7.0 MariaDB 5.6
※ここで使用しているのはMariaDBだが、設定はほぼ同じなのでMySQLとして扱う。
■文字コードに関する記事
MySQL/MariaDB 文字コードの自動変換
MySQL/MariaDB 文字コードの設定
MySQL/MariaDB 文字コードの破壊と文字化け対策
MySQL/MariaDB サーバー文字コードの優先度
▼ 文字コードの設定各種
MariaDB [test] > show variables like 'character%'; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | latin1 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | latin1 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+
各設定値の意味は以下のようになる。
設定値 | 説明 |
---|---|
character_set_client | クライアント => サーバーにメッセージを送る際に使われるキャラセット |
character_set_connection | クライアントが送ったクエリをサーバーが解析する際、このキャラセットに従ってunescapeする |
character_set_database | DBのdefaultキャラセット。"LOAD DATA INFILE"文はこの指定に従う |
character_set_filesystem | ファイルシステムの文字コード |
character_set_results | サーバー => クライアントに結果を送信するときに使われるキャラセット |
character_set_server | サーバーのdefaultキャラセット |
character_set_system | ファイル名をこのキャラセットで扱う。utf8固定 |
character_sets_dir | キャラセットファイルの置いてあるディレクトリ |