XAMPPのMySQLで文字コードを変更する

      2018/10/21

XAMPPMySQLで文字コードをUTF-8に変更する方法です。XAMPP向けですが、Windows版のMySQLでも文字コードの変更方法は同じはずです。

コマンドラインツールの使用方法

  1. XAMPP Control PanelMySQLStartします
  2. コマンドプロンプトを起動し、以下のフォルダに移動します
    XAMPPインストールフォルダ\mysql\bin
    (例:cd C:\xampp\mysql\bin)
  3. 以下のコマンドでMySQLのコマンドを起動します
mysql -u root -p

xampp-mysql-01

終了は

exit

です。

参照するデータベースの変更

use データベース名;

mysql use db

文字コードを確認する

show variables like "chara%";

mysql show variables like chara

システム変数 内容
クライアント側 character_set_client クライアントが送信するクエリーの文字コード
クライアント側 character_set_connection クライアントから受け取った文字の変換先文字コード
サーバ側 character_set_database デフォルトデータベースの文字コード
character_set_filesystem ファイルシステムの文字コード
クライアント側 character_set_results クライアントへ送信する結果の文字コード
サーバ側 character_set_server サーバの文字コード
サーバ側 character_set_system サーバで使用される文字コード(utf8固定)
character_sets_dir 文字コードがインストールされているディレクトリ

文字コードをUTF-8に変更する

XAMPPインストールフォルダ\mysql\bin\my.iniを編集します

サーバ側

  1. [mysqld]セクションにて、コメントアウトされているcharacter_set_server=utf8を有効にします
[mysqld]
省略
character_set_server=utf8
  1. XAMPP Control PanelでMySQLを再Startします

[変更後]

mysql character_set_server

但し、character_set_databaseは後から変更されないため変更したい場合はデータベースを作成し直す必要があります。

[データベース再作成後]

mysql character_set_server

クライアント側

  1. [client]セクションに、character_set_client = utf8を追加します
  2. [mysqld]セクションにて、コメントアウトされているskip-character-set-client-handshakeを有効にします
[client]
省略
character_set_client = utf8

[mysqld]
省略
skip-character-set-client-handshake
  1. XAMPP Control PanelでMySQLを再Startします

mysql character_set_client

 - データベース , ,