2025年 4月5日(土) 07:02 JST

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

  • 2011年 6月20日(月) 11:07 JST
  • 投稿者:
  • 表示回数 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」で作りなおします。手順は、次のとおり。

  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/に移動。