[MySQL] 文字化け防止

MySQL をインストールすると、デフォルトの文字コードは latin1 に設定されています。
この状態でも ( PHP など ) プログラム側で対応してれば、日本語マルチバイト文字も ( 見た目上 ) 問題なく使えるわけですが・・・

  • バックアップ ( mysqldump ) で化ける
  • phpMyAdmin で化ける
  • etc 

百害あって一利なし な訳です。

というわけで、インストール直後のまだデータベースを作成していないうちに MySQL の文字コードを utf8 に設定しておきましょう。

 

1) 初期状態を確認する

MySQL にログインして、status コマンドで現在の文字コードの状況などを確認しておきます。

mysql> status
--------------
~~省略~~

Server characterset:    latin1
Db     characterset:   
latin1
Client characterset:    latin1
Conn.  characterset:    latin1
--------------

2)

my.ini を修正する

MySQL の各種設定は my.ini というファイルに記述されています。
このファイルの該当箇所を修正することで、文字コードの変更が可能です。
ファイルの場所はシステムフォルダ ( c:\windows など ) か、MySQL のインストールフォルダになります。

[mysql] セクション ( 全体の 57 行目付近 )

#default-character-set=latin1 (先頭に # をつけて、コメントアウト)
default-character-set=utf8 (新規追加)

[mysqld] セクション ( 全体の83 行目付近 )

#default-character-set=latin1 (先頭に # をつけて、コメントアウト)
default-character-set=utf8 (新規追加)

3) MySQL を再起動する

my.ini の設定を反映させるために、コンピュータの管理 から MySQL のサービスを再起動する。

4) 反映を確認する

MySQL にログインして、status コマンドで文字コードが変更されたことを確認します。

mysql> status
--------------
~~省略~~

Server characterset:    utf8
Db     characterset:    utf8
Client characterset:    utf8
Conn.  characterset:    utf8
--------------


自宅サーバーWebRing << 前 |ID=231 |次 >> 乱移動前後5表示サイト一覧