コンピュータで扱う文字コードはたくさんあり、時々文字化けとかに遭遇します。そんな時にはnkf (Network Kanji Filter)を使います。Windowsからファイルをもらった時など便利です。
インストール
> cd /usr/pkgsrc/converters/nkf
> make install
使用例
whois で首相官邸を調べると文字化けしてしまいます。
> whois kantei.go.jp
[ JPRS database provides information on network administration. Its use is ]
[ restricted to network administration purposes. For further information, ]
[ use 'whois -h whois.jprs.jp help'. To suppress Japanese output, add'/e' ]
[ at the end of command, e.g. 'whois -h whois.jprs.jp xxx/e'. ]
Domain Information: [%I%a%$%s>pJs]
a. [%I%a%$%sL>] KANTEI.GO.JP
e. [$=$7$-$a$$]
f. [AH?%L>] Fb3UAmM}Bg?C41E!
g. [Organization] The Prime Minister's Official Residence
k. [AH?%<oJL] @/I\5!4X
l. [Organization Type] Government
m. [EPO?C4Ev<T] MK072JP
n. [5;=QO"MmC4Ev<T] MK072JP
p. [%M!<%`%5!<%P] ns3.kantei.go.jp
p. [%M!<%`%5!<%P] ns4.kantei.go.jp
s. [=pL>80]
[>uBV] Connected (2012/06/30)
[EPO?G/7nF|] 1994/06/24
[@\B3G/7nF|] 1994/06/27
[:G=*99?7] 2011/07/01 01:15:10 (JST)
nkf -wで出力をUTF-8にします。
> whois kantei.go.jp | nkf -w
[ JPRS database provides information on network administration. Its use is ]
[ restricted to network administration purposes. For further information, ]
[ use 'whois -h whois.jprs.jp help'. To suppress Japanese output, add'/e' ]
[ at the end of command, e.g. 'whois -h whois.jprs.jp xxx/e'. ]
Domain Information: [ドメイン情報]
a. [ドメイン名] KANTEI.GO.JP
e. [そしきめい]
f. [組織名] 内閣総理大臣官邸
g. [Organization] The Prime Minister's Official Residence
k. [組織種別] 政府機関
l. [Organization Type] Government
m. [登録担当者] MK072JP
n. [技術連絡担当者] MK072JP
p. [ネームサーバ] ns3.kantei.go.jp
p. [ネームサーバ] ns4.kantei.go.jp
s. [署名鍵]
[状態] Connected (2012/06/30)
[登録年月日] 1994/06/24
[接続年月日] 1994/06/27
[最終更新] 2011/07/01 01:15:10 (JST)
その他
出力側の文字コードを指定する場合には -j のように小文字を指定し、入力側の文字コードを指定する場合には -J のように大文字で指定します。
nkfは、入力側の文字コードを分析するので出力側の文字コードを指定すればOKです。
また、nkfでは半角のカタカナが全角に勝手に変換されてしまします。-xオプションをつければ全角に変換されません。
> cat as400.txt | nkf
F3= 終了 F4=プロンプト F9= コマンドの複写 F10= 詳細なメッセージの組み込み
F11= 全画面表示 F12= 取り消し F13= 情報援助 F16=システム・メイン・メニュー
> cat as400.txt | nkf -x
F3= 終了 F4=プロンプト F9= コマンドの複写 F10= 詳細なメッセージの組み込み
F11= 全画面表示 F12= 取り消し F13= 情報援助 F16=システム・メイン・メニュー