FreeBSD QandA 357

FreeBSD QandA

Q. kterm で日本語ファイルを cat すると文字化けします。正しく日本語を表示
   させるにはどうしたらいいのですか?

A. kterm(1) が pty(4) とやりとりするデフォルトの漢字コードは JIS です。
   例えばファイルの内容が Shift-JIS で書かれていれば、当然ながら cat(1) 
   の結果は文字化けとなります。また、kterm 上で利用するアプリケーション
   の入出力についても同様のことが言えます。

   kterm に漢字コードを指示するには以下の3通りの方法があります。

   1. kterm の VT Options メニュー
     Ctrl + マウスの中ボタン (2番目のボタン) でメニューを表示させて、
     `Japanese EUC Mode' をチェックすれば EUC コード、
     `Shift-JIS Mode' をチェックすれば Shift-JIS となります。
     どちらもチェックされてなければ、デフォルトの JIS コードです。 

   2. コマンドラインオプション
     kterm 実行時のオプション -km で指定します。
         -km euc     日本語 EUC コード
         -km sjis    Shift-JIS コード (マイクロソフト漢字コード)
         -km jis     JIS コード (ISO-2022-JP ベース)

   3. X リソースで指定
     以下のどれか1行を ~/.Xresources または ~/.Xdefaults に追加して、
         KTerm*kanjiMode:   euc
         KTerm*kanjiMode:   sjis
         KTerm*kanjiMode:   jis
     X を再起動するか
       % xrdb -merge ~/.Xresources
     などとします。もし、-km オプションが指定されていれば、そちらが
     優先されます。

   具体的に漢字コードを EUC とする場合の手順を示します。

   o 上記のいずれかの方法で kterm を起動して、漢字コードを EUC にします。
     確認は kterm の Ctrl + マウスの中ボタンでできます。
   o stty(1) を使って pty が 8 bit を通すようにします。
       % stty cs8 -istrip -parenb
   o EUC コードのファイルが cat で正しく表示されるか確認します。
       % kterm -km euc -fn a14 -fk k14
     としても上手くいかないようなら、[管理番号 1366] を参考にしてフォント
     指定を確認する必要があります 

同一グループへのリンク

グループ名: kterm


間違い・追加情報を見付けた場合は、 修正案の投稿のしかた を読んだ上で、
QandA@jp.FreeBSD.org まで お知らせください。