windowsターミナルを使用したMySQLモニタで文字ばけします。原因と対策を知りたいです。


MySQLの文字コードについて、以前この質問をした者です。http://q.hatena.ne.jp/1311486593
以降、環境に変更はありません。MySQLのdefault charsetはlatain1のまま使用しており、phpでSQL接続ごとにmysql_set_charset('utf8');を発行しています。

MyPHPAdminおよびphpプログラムで表示する限り日本語の文字化けはないのですが、windows ターミナルを使用したMySQLモニタでは、日本語が「??」のように文字化けしてしまいます。文字化けする原因はなんでしょうか?

今現在は特に困ってはいないのですが、原因を知りたくご教授いただけますと幸いです。

詳しい環境は以下の通りです。なにとぞよろしくお願いもうしあげます。
---
MySQL
サーバのバージョン: 5.1.37
プロトコルバージョン: 10
MySQL の文字セット: UTF-8 Unicode (utf8)

Web サーバ
Apache/2.2.12 (Win32) DAV/2 mod_ssl/2.2.12 OpenSSL/0.9.8k mod_autoindex_color PHP/5.3.0 mod_perl/2.0.4 Perl/v5.10.0
MySQL クライアントのバージョン: 5.1.37
PHP 拡張: mysqli

PyPHPAdmin バージョン情報: 3.2.0.1

windows xp sp3(最新パッチあて済)
Apache Friends XAMPP (Basis Package) version 1.7.2

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2011/09/02 14:05:02
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:a-kuma3 No.2

回答回数4973ベストアンサー獲得回数2154

ポイント33pt

http://www.fine-view.com/jp/zatsugi/editor_console2.html

↑のページが、同じことをしてるかな?


コマンドプロンプトのコードページを chcp コマンドで 65001 に変えて(ページの真ん中くらいで軽く触れている)、

MySQL モニタでも、set コマンドで character set を変え、うんぬん。


結構、面倒くさい。

その他の回答2件)

id:taknt No.1

回答回数13539ベストアンサー獲得回数1198

ポイント34pt

ターミナルのソフトで 文字コードを指定する箇所があると思いますが・・・。

id:a-kuma3 No.2

回答回数4973ベストアンサー獲得回数2154ここでベストアンサー

ポイント33pt

http://www.fine-view.com/jp/zatsugi/editor_console2.html

↑のページが、同じことをしてるかな?


コマンドプロンプトのコードページを chcp コマンドで 65001 に変えて(ページの真ん中くらいで軽く触れている)、

MySQL モニタでも、set コマンドで character set を変え、うんぬん。


結構、面倒くさい。

id:Jupiter2100 No.3

回答回数444ベストアンサー獲得回数74

ポイント33pt

>文字化けする原因はなんでしょうか?

WindowsターミナルではシフトJISしか正常に表示できないためです。


完全な対策ではないのですが、chcpコマンドを発行して65001(UTF-8)を指定することで、ある程度は文字化けが防げます。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません