カスタム検索

2009年4月16日木曜日

MySQLをコマンドプロンプトで検索すると文字化け

なんとか、インストールは完了した。

しかし、実際にデータをインサートして、コマンドプロンプトからselect文を流すと、
「あの文字化け」が。

対応策:
     mysqlからselect文を実行する前に、次の文を実行する。
      set names sjis
     たった、これだけのこと。

原因:
     コマンドプロンプトは、windowsだけあって、sjisで文字コードを解釈して
    いる。
    DBには、汎用性も考え、utf8でデータベース及び、テーブルを作成した。
    ということで、いつもながら気が利かないMicrosoftの機能だけあって、
    自動的にsjisへ変換してくれない。
     ということで、set names命令でsjisへ変換してから表示してね!と、
    教えなくては ならなかった。

他:
     コマンドプロンプトは、sjisを理解するものであることは想定していた
    ので、 コマンドプロンプト側で、utf8を解釈することができないかと
    調べたが、だめだった。
     javaから、JDBCを使ってコマンドプロンプトに表示させると
    問題が生じなかった。 これは、JDBCドライバのほうで自動的に変換
    してくれているのかな? と思って。

    con = DriverManager.getConnection( "jdbc:mysql://localhost/ChangeInfoDB?useUnicode=true&characterEncoding=Shift_JIS, ほにゃらほにゃら

    しかし、Shift_JISをlatin1にしても文字化けしなかった。
    なぜ? 文字化けを期待していたのだが。。。
    これ以上深追いしても、先に進まないので、これにて。。。

0 件のコメント: