2007年01月17日

Cygwinの日本語メッセージ文字化け対策

w3mのコンパイルをして気がついたのですが、Cygwinのコマンドたちは日本語メッセージをEUC-JPで出力してくるので、そのまま使用すると激しく文字化けを起こしてしまいます。

対策については、以下のサイトにて完璧なる方法が記載されていました。

日本語メッセージの文字化けに対応する
http://www.sixnine.net/cygwin/cygwin-doc/japo.html

…と、ここで終わってしまってはあまり意味がないので、自分なりのひと工夫。

まずはnkfを導入します。ご紹介の手順どおりCygwin_JEから頂いてきてもいいのですが、ここはひとつ自分でコンパイルすることにします。

nkfの最新版は以下のサイトで入手することが出来ます。

SourceForge.jp: Project Info - nkf Network Kanji Filter
http://sourceforge.jp/projects/nkf/

入手したファイルを /tmp に配置したらコンパイルと導入をします。
(SourceForge.jpだとwgetでファイルを落とせないのが辛いところ)
現行バージョンである2.0.7なら手順は以下のとおりです。
cd /tmp
tar zxvf nkf207.tar.gz
cd nkf207
make
cp -p nkf.exe /usr/bin

そしていよいよメッセージカタログの変換。公開されているシェルを元に、

/usr/share/locale/ja/LC_MESSAGES以外に配置されたファイルへの対応
 (vimw3mのメッセージカタログなど)
・元からShift_JISで作成されたメッセージカタログを変換しない
・強制再作成モードの実装

という修正を施したシェルを作成しました。→ moconv2.sh

使い方は、適当な場所に保存して実行するだけです。
オプションとして "-f" を付けると強制再作成モードになります。

シェルの中で msgfmt msgunfmt find grep awk sed の各コマンドを使用しているいます。コマンドが見つからない場合はエラーが出るので適宜追加してください。(msgfmtmsgunfmtgettext-develパッケージに含まれています)

これで完璧!と思ったら、まだvimのコマンド部分(一番下の行の事ですがこの呼び方で合っているのかな?)の文字化けが直りません。これはメッセージカタログの問題ではない(コマンド部分以外は化けずに日本語が表示される)ので諦めるしかないのかな…と思ったら、ちゃんと解決方法がありました。

Untitled: Cygwinの日本語環境 : vim その1
http://quanta.sppd.ne.jp/blog/archives/000066.html

"encoding"を確認したところ"encoding=latin1"だったので、これを"japan"に変更します。
echo "set encoding=japan" >> ~/.vimrc

これでvimを起動してみると…コマンド部分も日本語表示に!!

完璧です。これで日本語で素敵なCygwinライフが満喫できます。(というかこれをやらないとvimで日本語が扱えないことに気がついていませんでした…。←アホ)

Rue. SATOHさん(@Studio Sixnine.)、quantaさん(@Untitled)の有益な情報に感謝!(ありがとうございます!)

それにシェル作成時にtestコマンドの確認に使わせていただいた以下のサイトにも!

if文とtestコマンド
http://www.geocities.jp/geo_sunisland/if_and_test.html
posted by 月水和尚 (とも) at 18:02 | Comment(6) | TrackBack(1) | Cygwin
この記事へのコメント
丁寧でわかり易く、参考にさせていただきました。

ですがcwgwinのsetup.exeからgettext-develがどうしてもインストールできず、msgfmtが使えません。

ttp://ftp.yz.yamagata-u.ac.jp/pub/cygwin/release/gettext/gettext-devel/

からダウンロードし、解凍後にusrフォルダを上書きしたのですが、「cyggettextsrc-0-17.dllが見つかりません」とエラーになります。

バージョンは以下のとおりです。

OS WindowsXP SP3 Home
cygwin 2.573.2.3
gettext-devel 0.17-4

gettext-develをインストールするにはどうすれば良いのでしょうか。教えていただけませんでしょうか。

以上です。宜しくお願いします。
Posted by T at 2009年09月17日 17:38
申し訳ありません。cygwinの初期画面で「ダウンロードのみ」を設定していました。自己解決しました。ありがとうございます。
Posted by T at 2009年09月17日 18:25
Tさん

コメントありがとうございます。

今日時点の最新版setup.exeで確認してみたのですが、普通にパッケージ一覧にgettext-devel出てきます。Viewボタンを押して「Full」の状態で探してみると見つけやすいかもしれません。
Posted by tomo at 2009年09月17日 18:29
にもかかわらずいつもお人気なのはあるが、国内ではいつでもを相互交換しなければならない贈り物をもらった。
Posted by coach factory outlet at 2010年12月29日 11:13
Posted by cocoa at 2011年03月14日 15:14
Cygwin Vi 日本語化成功
お陰様で、成功しました。
私の環境Windows7,最近のCygwinで、ネット上の検索で色々と試してもダメでしたが、bashのウインドウで
右クリックでのウインドウメニーで、Options,Textの
設定をja_JP,SJISに設定すると以後設定が有効に
なりました。
ありがとうございました。
Posted by 山本健治 at 2012年01月23日 19:15
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック

サーバOracle GUI画面をWindowsクライアント端末に表示する
Excerpt: 【目次(記事一覧)へ】 サーバは基本的にTelnet的なソフトを利用し、操作することが多いと思いますが、 Oracleの場合、インストーラなど、基本的にGUI画面操作が必要な場合があります..
Weblog: サクサクIT
Tracked: 2010-05-16 09:54