mysql エラーメッセージの文字化け
- 2011年 6月20日(月) 11:07 JST
- 投稿者: akira
- 表示回数 179
原因
[mysqld]
#language = /usr/local/mysql/share/mysql/japanese
にある、errmsg.sysがEUCで書かれている為。
これは、どうもバイナリ化されているので、単純にUTF-8にできない。
comp_err(mysql 5.0までは、mysql-server-5.0パッケージに登録されていた模様)で
変換できそうなのだが、mysql 5.1以降コマンドが存在しない。
mysqlでのメッセージ文字化け
sshでサーバにログイン後、ターミナルからmysqlにログイン。このときにメッセージが文字化けするようになりました。sshでサーバにログインするターミナルの文字コードを「EUC-JP」に変更すれば、mysqlのメッセージは、文字化けしません。原因は、mysqlのメッセージファイルが「EUC-JP」で作成されているためと判明。「UTF-8」で作りなおします。手順は、次のとおり。
- /usr/shar/mysql/errmsg.txtをUTF-8に変換。
- comp_errコマンドでerrmsg.sysを作成。「comp_err errmsg.txt errmsg.sys」でerrmsg.sysファイルを作成。
- 作成したerrmsg.sysを/usr/shar/mysql/japanese/に移動。