- 追加された行はこの色です。
- 削除された行はこの色です。
*E71でのMySQL文字コード設定変更 [#nd54e237]
MySQLの文字コード設定を変更します。
MySQLでは、
-データベースサーバの文字コード
-クライアントの文字コード
-データベース毎の文字コード
-テーブル毎の文字コード
を別々に設定することが出来ます。
***現在の文字コードの確認 [#b03da9f0]
まずは、現在の文字コード設定を確認します。
mysql> show variables like 'character_set%';
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', 'c:\mysql\share\charsets\'
なるほど~クライアント側の設定はutf8で、サーバ、DBがlatin1なのね。
これだと、日本語が入らないので、サーバ、DBの文字コードをutf8に変更します。
ちなみに、データベースのcreate文を見ることで、作成時の文字コードを確認します。
mysql> show create database test_db;
'test_db', 'CREATE DATABASE `test_db` /*!40100 DEFAULT CHARACTER SET latin1 */'
これで今のデータベースの
***my.cnfの変更 [#m113b7c4]
文字コードはmy.cnfで設定します。
my.cnfの[client]、[mysqld]の中に、以下の設定を追加します。&br;
※以下のサイトを参考にしました。
-http://www.avant-tokyo.com/linux/mysql_character_set.html
[client]
default-character-set=utf8
[mysqld]
default-character-set = utf8
skip-character-set-client-handshake
character-set-server = utf8
collation-server = utf8_general_ci
init-connect = SET NAMES utf8
設定を変更し、サーバを再起動し、文字コードを再び確認。
mysql> show variables like 'character_set%';
'character_set_client', 'utf8'
'character_set_connection', 'utf8'
'character_set_database', 'utf8'
'character_set_filesystem', 'binary'
'character_set_results', 'utf8'
'character_set_server', 'utf8'
'character_set_system', 'utf8'
'character_sets_dir', 'c:\mysql\share\charsets\'
よしよし、変更完了!