- PR -

端末エミュレータから日本語入力の際に文字化け

1
投稿者投稿内容
だま
会議室デビュー日: 2004/08/28
投稿数: 19
投稿日時: 2004-09-13 08:56
Linuxのサーバに端末エミュレータから日本語を入力する際に、正常に入力できる端末と文字化けしてしまう端末があります。操作端末としてNEC製のノートPCと富士通製のデスクトップがあり、NEC製端末から日本語を入力しようとすると、変換確定後に例えば「あいうえお」は「$"$$$&$($*」と化けてしまいます。
富士通製の端末だとこのようなことはなく、正常に入力可能です。端末エミュレータはTeraTermProを使用しています。同じものをコピって両機で使用していますので、バージョンの違いによる問題ではありません。各種設定も同一にしています。ちなみにTeraTermProのバージョンは2.3です。日本語化パッチ等は適用しておりません。
NEC機、富士通機ともWindowsのOSはNT4.0で同一。適用サービスパックも同一です。

正常に日本語入力を行うにはどのようにすればいいのでしょうか。ご教示願います。
コブラ
ぬし
会議室デビュー日: 2003/07/18
投稿数: 1038
お住まい・勤務地: 神奈川
投稿日時: 2004-09-13 13:14
TeraTerm -> 「設定」 -> 「端末」 ->
漢字(受信)(K) -> 接続先の漢字コードに合わせる
漢字(送信)(J) -> 接続先の漢字コードに合わせる

-> 設定を保存

ま、大概 EUC でエエかとは思いますが。
だま
会議室デビュー日: 2004/08/28
投稿数: 19
投稿日時: 2004-09-13 15:03
>TeraTerm -> 「設定」 -> 「端末」 ->
>漢字(受信)(K) -> 接続先の漢字コードに合わせる
>漢字(送信)(J) -> 接続先の漢字コードに合わせる
>
>-> 設定を保存
>
>ま、大概 EUC でエエかとは思いますが。


コブラ様、早速のご回答ありがとうございます。
しかし、すでにTeraTermでの設定は漢字(受信)(送信)ともEUCになっています。
これは日本語入力がうまくいく富士通製端末でもうまくいかないNEC製端末でも
同じことで、全く同じ設定をしているにも関わらず、使用する端末によって
文字化けするかしないかが異なるので困っています。
入力可能な富士通製端末のTeraTermをディレクトリごとコピってNEC製端末に
乗せても結果は同じなのです。

今、ふっと思いついてTeraTermではなく、Windows標準のTelnetでやってみましたが
結果は同じでした。
TeraTermの設定ではなく、Windowsの設定によるものかと思い互いの環境変数を
見比べましたが、文字コードに関係するような項目はありませんでした。双方とも
IME2000を使用してます。
使用する端末で結果が分かれているようです。うーん、何が違うんだろう?


※※※ 間違ってました ※※※
(誤)Linuxのサーバに端末エミュレータから
(正)Solaris7のサーバに端末エミュレータから

コブラ
ぬし
会議室デビュー日: 2003/07/18
投稿数: 1038
お住まい・勤務地: 神奈川
投稿日時: 2004-09-13 15:51
まともな TeraTERM の方で、Solaris に入って

$ echo $LANG

したら!?。。。
だま
会議室デビュー日: 2004/08/28
投稿数: 19
投稿日時: 2004-09-13 17:31
コブラさん、度々ありがとうございます。

>まともな TeraTERM の方で、Solaris に入って
>$ echo $LANG
>したら!?。。。

うまく入力できる端末・できない端末どちらも結局は同じサーバにログインしてるので、
$LANG変数はどちらからでも同じ値「ja」となります。
ちなみにWindows側の環境変数には「LANG」のような文字コードを表すものは設定されて
いません。
だま
会議室デビュー日: 2004/08/28
投稿数: 19
投稿日時: 2004-09-14 08:51
いろいろとお答えをいただきましたが、どうもUNIXの問題ではなく、Windows機上での文字コードの設定の問題のようです(入力する際にJISのエスケープシーケンスが抜け落ちている?)。もう一度調べなおして、今度はWindows系の掲示板で質問しなおしたいと思います。
ありがとうございました。
あんとれ
ぬし
会議室デビュー日: 2004/01/14
投稿数: 556
投稿日時: 2004-09-14 22:51
Solaris であれば、恐らく8ビットスルーになっていないのでしょう。

$ stty -istrip

という設定を行えば、8ビットスルーになります。
.profile とかに書いておけばよいでしょう。

8ビットスルーで無い場合、最上位ビットが切り取られてISO-2022-JPが文字化けしたみたいになります。
だま
会議室デビュー日: 2004/08/28
投稿数: 19
投稿日時: 2004-09-16 09:41
あんとれさん、ご回答ありがとうございました。
そのとおりでした。

ただ、目的のUNIXサーバ自体には「stty -istrip」の設定がされてました。
しかしよくよく調べてみると、入力が文字化けする端末は実は別のUNIXに接続されていて、
そこからリモートログインする形でメインのサーバにぶらさがってることが判明しました。
手前のサーバでは「stty istrip」となってたので8bit目が叩き落とされていたんですね。

お騒がせをいたしました。
本件で8bit目の取り扱いに関する疑問も生じてきたので、別スレッドをたてて質問させて
いただきたいと思っています。
そちらにもご回答いただければ幸いです。
1

スキルアップ/キャリアアップ(JOB@IT)