- ベストアンサー
man nkfの文字化け
- Cygwinでman nkfすると文字化けするので、直し方を教えて下さい。
- 最新のnkf-2.1.4.tar.gzを使っています。
- 他に何か試せることはありますか?他の方はどうされているのでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
コード変換後のnkf.1jファイルは、manファイル用のディレクトリに置いていますでしょうか?
その他の回答 (3)
- trytobe
- ベストアンサー率36% (3457/9591)
表示している文字コードの設定がわからない上に、nkf 以外のマニュアルは表示できる、という情報が初めて得られたので、 JISコードの日本語スタートとエンドに使われている ESC が消えるから、cat とか man の標準出力の内容を nkf -w8 で変換できていない、ということのようなので、 cp -p nkf.1j nkf_Org.1j とバックアップを取って、nkf に標準入力からではなくファイル名指定での入力をして nkf -w8 nkf_Org.1j > nkf.1j と上書きしてみましたか。
お礼
ありがとうございます。 No.3さんの回答で解決しました。 解凍したフォルダ内で上書きしていたということをお伝えしておけばよかったですね。 またお願いします。 ありがとうございました。
- trytobe
- ベストアンサー率36% (3457/9591)
cygwin の表示文字コード(fileencodings)などの設定変更を複数の日本語コードへの自動認識に変更したほうが早いのかも。 cygwin fileencodings JIS UTF - Google 検索 https://www.google.co.jp/search?q=cygwin+fileencodings+JIS+UTF vimの文字コード自動認識 http://www.tooyama.org/vim-2.html
お礼
ありがとうございます。 すみませんが、もしその方法が早いのであれば、具体的に直し方を教えて下さいませんか? 検索してみましたが、cygwin の表示文字コード(fileencodings)などの設定変更を複数の日本語コードへの自動認識に変更する方が難易度は高いように思えます。 他のmanは正しく表示されており、このman nkfだけが文字化けして表示されているのです。しかもnkf.1jの変換までは成功しています。nkfのファイルを加工する方が早いような気がしていますが如何でしょうか?
- trytobe
- ベストアンサー率36% (3457/9591)
マニュアルが JIS コードで保存されていて、それを JIS ではないターミナルに表示しているから、$B で始まって (B で終わる日本語の文字化けした部分が出てしまっているだけ。 man nkf | nkf -w8 とだけ実行すれば、そのターミナルで -w8 オプション(コード変換して、UTF-8 での表示用に準備する)を使えば用は足りると思います。
お礼
ありがとうございます。 しかし、man nkf | nkf -w8では直っていないように見えます (そして、幾つかWarningが出ます): $ man nkf | nkf -w8 <standard input>:437: a newline character is not allowed in an escape name <standard input>:437: warning: can't find special character `' <standard input>:439: bad argument name `,' <standard input>:443: bad argument name `K' <standard input>:444: bad argument name `K' <standard input>:588: warning: numeric expression expected (got `$') <standard input>:616: a space character is not allowed in an escape name nkf(1) nkf(1) NAME nkf - $B%M%C%H%o!<%/MQ4A;z%3!<%IJQ49%U%#%k%?(B 上記は正しく入力できていますでしょうか? 他に試せることはありますか? 因みに、先ほどの上書きはcp -p nkf_Org.1j nkf.1jで元に戻してあります。 tar.gzを解凍したのと同じ状態です。
お礼
お陰様で文字化けが直りました! コード変換後のnkf.1jファイルをC:\cygwin64\usr\local\man\ja\man1のnkf.1と置き換えました。 コード変換の苦労が報われてよかったです。 紛れもなくベストアンサーです。 ありがとうございました!