【MySQL】 文字コードを utf-8 に変更する方法。
Windows の MySQL の文字コードを UTF-8 に変更した際のメモです。
なぜ utf-8 に変えたかといいますと、 Perl で CGI を作る予定だが、Linux のサーバにアップロードする予定なので、文字コードを UTF8 に統一しておいた方が良いと思われたからです。
まずは、デフォルトで設定されている文字コードを確認します。
1 |
> show variables like "char%"\G; |
それぞれ、パラメータの説明は以下のとおりです。
character_set_client クライアントが送信する文字コード
character_set_connection 文字コード情報が無い文字列の文字コード
character_set_results クライアントへ送信する文字コード
character_set_server サーバのデフォルト文字コード
次に、設定ファイル my.ini を探しましょう。
Windows の場合、my.ini に MySQL の設定が記述されています。
ただし、エクスプローラーで検索しても出てきません。
私の場合は、次の場所にありました。
C:\ProgramData\MySQL\MySQL Server 5.6
cp932 → utf8に変更、または追記します。
1 2 3 4 5 6 7 8 9 10 11 |
[mysql] default-character-set=utf8 [mysql] default-character-set=utf8 # default-character-set=cp932 [mysqld] character-set-server=utf8 skip-character-set-client-handshake #character-set-server=cp932 |
「skip-character-set-client-handshake」の意味は、クライアントが接続したときに、デフォルトのキャラクタセットが utf8 になります。
これにより、毎回「SET NAMES utf8;」を行わなくてよくなります。
ただし、windows のコマンドプロンプトから接続する場合は意味が無い?かもしれません。
(windows のコマンドプロンプトは cp932 でやりとりしているため。)
それでは、「SET NAME cp932;」を省略したい場合はどうすればいいのか?
以下を追記します。
1 2 |
[mysqld] init-connect = SET NAMES cp932 |
そうすると、コマンドプロンプトを立ち上げるたびに、いちいち「SET NAME cp932;」を入力する手間が省けます。
my.ini の設定を反映させるために、MySQL を再起動します。
コマンドプロンプトから Mysql の停止は、コマンドプロンプトを「管理者として実行」し、
1 |
net stop mysql56 |
です。
続いて起動は、
1 |
net start mysql56 |
です。
再度、文字コードを確認してみます。
1 |
show variables like "char%"\G; |
ただ、このままだとコマンドプロンプト上で確認すると文字化けしてしまうので、
1 |
SET NAMES cp932; |
とします。
これは、Windows のコマンドプロンプトが cp932 という文字コードでやりとりをしているからです。
関連記事
-
【MySQL】データベースを作成し、テーブルを追加する方法。
Windows 環境で MySQL のデータベースを作成し、ユーザを作成し、テーブルを追加したときの
-
【MySQL】Windows にインストール時のエラー対処方法。
Windows7 に MySQL の最新版(当時 ver 5.6.23) をインストールする際にエラ
-
【MySQL】データベースをバックアップしてデータ移行する方法【dump】
MySQL でデータをバックアップ(保存)し、復元したときのメモです。 バックアップ(保存) 全
-
【MySQL】char と varchar について色々調べてみた。
MySQL の設定をしていて、char にするべきか varchar にするべきか、また、() で指
-
【MySQL Workbench】複数のデータベースをまとめて移行する方法。
MySQL の GUIツールである「MySQL Workbench」を使って、データベースをそのまま
-
【MySQL】パス(PATH)を通す。
MySQL のパス(PATH)を通したときのメモです。 MySQLをコマンドプロンプトでどこの
- PREV
- 【MySQL】パス(PATH)を通す。
- NEXT
- 【CANSLIM】株の投資方法について調べてみた。