Prev / Next / Hill Climber's ChangeLog

cygwin 上で日本語が化ける問題[cygwin][Tips]

2006-02-17

Studio Sixnine さんの日本語メッセージの文字化けに対応する とか、
Cygwin で便利! さん
も分かりやすいです。


1. Shift_JIS のメッセージカタログを作成する
     moconv.sh を入手&実行して、SJIS のメッセージカタログを作っちゃえ!という発想。

2. 環境変数 OUTPUT_CHARSET に「sjis」を設定する
     本来はこれがベストなのだが、cygwin ではこれでも一部の出力が文字化けされるとの事。

3. 環境変数 LC_MESSAGES に「C」を設定する
     日本語表示をあきらめ、英語表示にする,という後ろ向きな解決方法

4. /usr/share/locale/ja を /usr/share/locale/_ja のようにリネームする
     新たなパッケージをインストールするたびに同じ事をする必要があるので
     採用するべきではない、と断じている。

4. の論理でいけば、1. の方法も同じように「採用するべきではない」となってしまうのでは。
    ・cygwin バージョンアップで新たなメッセージが追加される度にスクリプトを実行する
必要がある。メッセージが追加されたかなんて分からないから、実際は cygwin
をバージョンアップする度にスクリプトを実行する必要がある。
  ・加えて、vim のメッセージカタログはバージョンによって格納先が変わるから、
 新しい vim が出るたびにスクリプト中の vim_version 変数を書き換える必要がある

ということで、今回は不完全かもしれないけど 2. の方法を採用し、~/.vimrc に以下を追加。

export OUTPUT_CHARSET=sjis

これでどん時なのメッセージが化けるか、使っていくうちに分かるでしょう。
問題があったらその時にまた考えるということで!

とまあ、いろいろあるけど素朴な疑問が。

なぜ、Cygwin で配布される日本語メッセージが EUC-JP なのでしょうか。
これを Shift-JIS にしてください、というお願いは通らないのでしょうか。。。

permlink