質問: windowsターミナルを使用したMySQLモニタで文字ばけします。原因と対策を知りたいです。 MySQLの文字コードについて、以前この質問をした者です。 以降、環境に変更はありません。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
回答: >文字化けする原因はなんでしょうか? WindowsターミナルではシフトJISしか正常に表示できないためです。 完全な対策ではないのですが、chcpコマンドを発行して65001(UTF-8)を指定することで、ある程度は文字化けが防げます。