はしくれエンジニアもどきのメモ

情報系技術・哲学・デザインなどの勉強メモ・備忘録です。

ConEmu とMySQL で文字コードをUTF-8に統一

ConEmu とMySQL文字コードUTF-8に統一

MySQL文字コードUTF-8への変更方法をメモ。

環境

ConEmu の文字コード変更

ConEmu(cmd) の文字コードの変更方法は以下にまとめました。

cartman0.hatenablog.com

XAMPPのMySQLコマンドプロンプト(ConEmu)から操作する場合

XAMPP Control Panel を開いて、 「Modules Service」の中のModule「MySQL」をインストールしておく。

Module「MySQL」のインストール、緑のチェックマークにする
Module MySQLのインストール

コマンドプロンプト上からMySQLを起動する場合は、以下のコマンド。


net start mysql

ログインする場合は以下のコマンド。


mysql -u <user_name> -p

MySQL文字コードを変更

設定ファイル C:\xampp\mysql\bin\my.ini をいじる。

UTF 8 Settings の項目がコメントアウトされているので、 有効にする。


## UTF 8 Settings
init-connect=\'SET NAMES utf8\'
collation_server=utf8_unicode_ci
character_set_server=utf8
skip-character-set-client-handshake
character_sets-dir="C:/xampp/mysql/share/charsets"

MySQLを再起動・ログインして、 以下のコマンドで文字コードを確認できる。


show variables like "chara%";

MySQL上で show variables like "chara%"; コマンドで文字コードを確認
文字コード確認

character_set_filesystem 以外が utf8 になっていればutf8 で統一されている。

注意

文字コード変更前にcreate したdatabase, table は、 変更前の文字コードで扱われるので、 drop database <database_name> ; で消してから、もう一度作りなおす。

環境の文字コードは変えずに、一部のdatabase とtable のみの文字コードを変える場合

create databasecreate table の後ろに、 character set 'utf8' を追加する。


create database <database_name> character set 'utf8';

create table <table_name>(<colum_name1>, <colum_name2>, ...) character set 'utf8';

面倒臭いが、おまじない的に毎回入れておけば、 文字コードの心配が無くなる。

参考:mysqlでの文字コード関連がわかってなくてワロタ - ITの隊長のブログ