2004年11月03日(水)
cygwinの文字化けをmoconv.shで解決
コンピュータに関するりばにしの記事
環境変数にLANG=ja_JP.SJISを設定したために,cygwinの出力の一部が日本語で出力されるけど,eucで出力してしまって文字化けしてしまっていたわけですが,以下のサイトで紹介されている手法で解決しました.
環境変数 LANG に「ja_JP.SJIS」を設定しているのに、Cygwin のコマンドの出力が文字化けする…といった事態に困っているユーザも多いのではないでしょうか。 ここでは、この問題への対処方法について説明します。
この中の,Shift_JISのメッセージカタログを作成する手法を選びました.必要になるmsgfmtなどのコマンドは,gettext-develをインストールしないとダメなので,インストール.その後,シェルスクリプトの中身を確認して,コマンドのパスなどを修正.そして,実行.
$ wget http://www.sixnine.net/cygwin/cygwin-doc/moconv.sh $ vi moconv.sh $ ./moconv.sh
これだけで完了みたいです.これで恐れることなく,LANG=ja_JP.SJISにできますた.
2004年11月03日21時21分 | Permalink
こちらの記事にみさせて頂いてありがとうございます。
もうちょっと詳しく、設定の過程を教えて頂ければ、幸いです。
初心者ですみません。
因みに、私は以下のエラーメッセージが出ました。
よければ、教えて頂きますか。。
$ sh ./moconv.sh
function: not found
basename: too few arguments
Try `basename –help’ for more information.
[: /: unknown operand
./moconv.sh: 26: Syntax error: “}” unexpected
僕がやった作業としては,上に書いたように
・スクリプトのダウンロード
・スクリプト内のパスの修正
具体的には,僕の環境ではnkfの場所が異なったので,書き換えました
・スクリプトの実行
という3つだけです.他には何もしていません.
エラーに「Syntax error」とありますので,構文が間違っているのではないでしょうか?
元のスクリプトとの違いを確認してみた方がよいかと思います.
通りすがりのモノです。
僕も↑↑のエラーで悩んでたのですが、
15行目
function mo_conv {
↓
mo_conv() {
28行目
function mo_conv_wrap {
↓
mo_conv_wrap() {
と訂正することで無事実行できました。