コマンドラインでの日本語

通常コマンドラインは Shift-JIS しか表示できない (扱えない?) らしいので、my.ini を書き換えてやる必要がある。外部ファイルからの LOAD DATA INFILE などを使用するのならば、該当ファイルのエンコードに気をつけるだけで良いが *1コマンドラインで直接日本語をインサートなどする場合にはこの設定が必要である。(ただし MySQLエンコードが Shift-JIS の場合なら問題はない?)

書き換える場所は my.ini の default-character-set の部分。

default-character-set = utf8

となっている部分を以下のように変更した。

default-character-set = cp932

この cp932 というのは

Microsoftコードページ932(以下CP932)は、マイクロソフト及び、MS-DOSOEMベンダがShift_JISを独自に拡張した文字コードである。また同時に、CP932はShift_JISWindowsアプリケーションにおける「実装」を指す用語であるとも言える。

http://ja.wikipedia.org/wiki/Microsoft%E3%82%B3%E3%83%BC%E3%83%89%E3%83%9A%E3%83%BC%E3%82%B8932

ということらしい。なので OS が Windows (MS製) ではない場合はこの限りではなさそう。

なお、この変更手段は全て こちらのサイトを参考にさせて頂いたものであり、私が独自に発見したものではない。

*1:ただし LOAD DATA INFILE でのインポートが成功しても、コマンドラインでレコードの表示をすると文字化けしている。