mysql エラーメッセージの文字化け

Contributed by: akira on 2011年 6月20日(月) 11:07 JST

Last modified on

原因
[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以降コマンドが存在しない。

 

古いが此処を参考にすると[*1]

 mysqlでのメッセージ文字化け
sshでサーバにログイン後、ターミナルからmysqlにログイン。このときにメッセージが文字化けするようになりました。sshでサーバにログインするターミナルの文字コードを「EUC-JP」に変更すれば、mysqlのメッセージは、文字化けしません。原因は、mysqlのメッセージファイルが「EUC-JP」で作成されているためと判明。「UTF-8」で作りなおします。手順は、次のとおり。

  1. /usr/shar/mysql/errmsg.txtをUTF-8に変換。
  2. comp_errコマンドでerrmsg.sysを作成。「comp_err errmsg.txt errmsg.sys」でerrmsg.sysファイルを作成。
  3. 作成したerrmsg.sysを/usr/shar/mysql/japanese/に移動。
コメント (0件)

Geeklog Site - mysql エラーメッセージの文字化け
https://geeklog.craine.ne.jp/article.php?story=20110620110715579

[*1] http://www.uetyi.mydns.jp/wordpress/linux-server/entry-285.html