• ベストアンサー

putty(ssh)での出力文字コード

putty(ssh)でサーバへ接続しているんですけど、設定で、「受信データは次の文字セットとみなされる」というところをUTF-8としないと文字化けしてしまいます。 EUC-JPで受信したいんですけどどうしたらいいでしょうか? サーバ側の設定が必要なんでしょうか? よろしくおねがいします。

質問者が選んだベストアンサー

  • ベストアンサー
  • you-m
  • ベストアンサー率58% (190/327)
回答No.3

しまった、exportするコマンドを書き忘れてましたね。すいません。 SUPPORTEDという環境変数で気づきましたがFedoraCoreですね? だったら、こういう対応が必要です。 /etc/sysconfig/i18n を編集して、以下のようにします。 LANG="ja_JP.eucJP" SUPPORTED="ja_JP.eucJP:ja_JP:ja" MANの設定も変更します。 /etc/man.config PAGER /usr/bin/less -isr を PAGER /usr/bin/lv そもそも、FedoraCore向けのFAQとしては、割と有名なもので、検索すれば結構見つかると思います。 もっとも、UTF-8って時点でFedoraの悩みだと気づかなかったあたり、私もかなり寝ぼけてましたが・・・。 以上 ご参考になれば幸いです。

noname#14448
質問者

お礼

こちらこそすいません。OSを明記してなかったです。 まさかFedoraCore特有のことであるとは考えもしなかったです。 指示されたとおり /etac/sysconfig/i18n, /etc/man.configを変更して再起動をかけると、受信文字コードをEUC-JPにしても文字化けすることなく表示できました。 これで問題も無事解決することができました。 ほんとに感謝です。どうもありがとうございました。

その他の回答 (2)

  • you-m
  • ベストアンサー率58% (190/327)
回答No.2

OSにより、対応は微妙に変わるかもしれませんが、その程度の話であれば、環境変数LANGの設定で何とかなりそうな気もしますが。 Bシェル系なら LANG=ja_JP.eucJP Cシェル系なら、 setenv LANG ja_JP.eucJP をログイン時の初期化で行ってみてはどうでしょう。 割と最近のOSであれば、多分大丈夫ではないかと。

noname#14448
質問者

補足

$ set BASH=/bin/bash .... 私の環境はBシェルのようなので、Bシェル用の処理を行ってみました。 $ unset LANG $ set | grep LANG _=LANG $ export LANG=ja_JP.eucJP $ set | grep LANG LANG=ja_JP.eucJP これでいいと思うんですけど、表示は変わらなかったです。 それと、環境設定変数に気になるところがあって、 SUPPORTED=ja_JP.UTF-8:ja_JP:ja となっていました。 これはってもしかしてEUC-JPはサポートしていない。ってことなんでしょうか...。

  • you-m
  • ベストアンサー率58% (190/327)
回答No.1

そもそも、ターミナルソフトにおける受信データの文字コードというのは、サーバが出力する文字コードに合わせる為にある設定です。 従って、質問者さんが使用しているサーバは、システムが使用している漢字コードがUTF-8なのだとすれば、それに合わせて使うのが正しいでしょう。 そもそもターミナル側で扱う文字コードだけをEUC-JPにする目的が皆目見当がつきませんが、いったい何がしたいのでしょうか? 回答内容が的外れと思うのであれば、補足をお願いします。

noname#14448
質問者

補足

目的は作成しているプログラム内での出力文字コードをEUC-JPとしており、それを変換せずに見たいということです。(デバッグ効率を考えて) 操作時に文字コードが化けないようにターミナルソフトの文字コードをUTF-8としていますと、プログラムの出力が文字化けしてしまい、プログラムの出力にあわせてEUC-JPとすると、サーバの出力(manページ)などの内容が文字化けしてしまう事態になっています。 わざわざターミナルソフトの文字コードを変更するのが面倒ですし、効率がとても悪いのでサーバの出力文字コードをEUC-JPにしたいと考えているところです。