コマンドプロンプトでのUTF-8文字化け問題

MySQLでDBの文字コードUTF-8に統一
コマンドプロンプトからだとエラー発生
原因はコマンドプロンプト文字コードsjisになっているから。
以下の手順でUTF-8に切り替え

手順

1. コマンドプロンプトのフォントの変更
コマンドプロンプトを立ち上げる→タイトルバー右クリック
→プロパティ→フォントから"MS ゴシック"を選択する。

フォントを"MS ゴシック"に変更します。
MS ゴシックは、Unicodeに対応するすべての文字を正しく表示できるわけではないが、一応ユニコードに対応している。日本語や飾り文字を含む文字を表示することができます。

2. コマンドプロンプト文字コードの変更
# UTF-8に変更
chcp 65001

# 元の文字コード( デフォルト ) に戻すとき
chcp 932

# 文字コードを確認するとき
chcp

コマンドプロンプト文字コードUTF-8に変更するには、chcp 65001 とする。
このモード変更にはバグがあるようで、プロパティからコマンドプロンプトの設定を行うことができなくなる(MS ゴシックが選択できない)。
プロパティからコマンドプロンプトの設定を変更するには、chcp 932 として元の文字コードにいったん戻ってから変更を加える。

3. ショートカットから文字コードの自動設定を行う。
コマンドプロンプトのショートカットのアイコンを右クリック→ショートカット
リンク先を

%SystemRoot%\system32\cmd.exe /f:on /k "chcp 65001"
に設定。

毎回文字コードを変更するのが面倒なときは自動化。
/k は、コマンドプロンプトと実行時に、実行したいコマンドを記述。
/f:on は、ファイルの補完機能。

参考URL
http://d.hatena.ne.jp/perlcodesample/20080706/1215291523

                                                                                                                                                  • -

コメントより

mysql起動時に
mysql -u [ユーザ名] -p -b --default-character-set=cp932

でパスワード入力でもOK。-bはビープ音なしになる。