2010年 10月 24日(日曜日) 02:09

MySQL文字化け対策

評価:
(0 票)

MySQLをセットアップしたばかりの時は、必ずと言っていいほど文字化け問題にぶつかります。

文字化けを防ぐためには、サーバ(mysqld)、クライアント(mysqlコマンドまたはphpMyAdmin)、アプリケーション(PHPなど)間で文字コードを統一する必要があります。ここでは文字コードをUTF-8に統一します。

1. 現在の文字コードを確認する

mysql> show variables like 'char%';
+--------------------------+------------------------------------------------------+
| Variable_name            | Value                                                |
+--------------------------+------------------------------------------------------+
| character_set_client     | latin1                                               |
| character_set_connection | latin1                                               |
| character_set_database   | latin1                                               |
| character_set_filesystem | binary                                               |
| character_set_results    | latin1                                               |
| character_set_server     | latin1                                               |
| character_set_system     | utf8                                                 |
| character_sets_dir       | /Applications/XAMPP/xamppfiles/share/mysql/charsets/ |
+--------------------------+------------------------------------------------------+
8 rows in set (0.00 sec)

mysql> 

2. my.cnfでdefault-character-setを設定

my.cnfのclientとmysqldのそれぞれに”default-character-set=utf8”の行を追加します。

[client]

... (略) ...

default-character-set=utf8

[mysqld]

... (略) ...

default-character-set=utf8 collation-server = utf8_general_ci init-connect='set names utf8'

my.cnfを変更して保存し、mysqldを再起動します。

3. 文字コードの設定が変わったことを確認する

次のようにそれぞれの文字コードがutf8に統一されたことが確認できます。

+--------------------------+------------------------------------------------------+
| Variable_name            | Value                                                |
+--------------------------+------------------------------------------------------+
| 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       | /Applications/XAMPP/xamppfiles/share/mysql/charsets/ |
+--------------------------+------------------------------------------------------+
8 rows in set (0.00 sec)

mysql> 
最終更新日: 2011年 6月 27日(月曜日) 01:43
くらち たかよし

くらち たかよし

モバイル・Webアプリ作家。最近は主にiPhoneアプリ制作を手がける。企画から、UIデザイン、設計、実装、テスト、多言語対応、ユーザーサポートまでを1人〜数人の個人で行う全人的開発手法の確立を目指している。

使う言語はObjective-C, C++, C#, Java, PHPなど。Web関連で使うものはCakePHP, MySQL, Joomla! CMSなど。デザインはシロウトながらPhotoshopとIllustratorをなんとかがんばって使う。

場所や時間に縛られない、インターネット時代の新しい働き方、自由な生き方を模索中。海外移住、低予算&低リスク起業、キャリアデザイン、心理学などにも興味あり。

Web: awaresoft.jp/