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