system management
1752546 メンバー
4558 オンライン
108788 解決策
新規ポスト

日本語入力について

 
N_Su
時折のアドバイザー

日本語入力について

# echo ああああ

とコマンド入力すると

「ああああ」の部分が文字化けしてしまい日本語入力ができません。

日本語入力の設定について教えてください。

OS : HP-UX 11i vi

TeraTermで別マシンからログインしています。
7件の返信7
Fu_Hi
頻繁なアドバイザー

日本語入力について

TeraTerm のメニュー

Setup から

Terminalを選択

kanjiの項目をサーバと同じコードに設定する

前の質問の続きだとSJISに設定かな・・
テレコム担当者
尊敬されているコントリビューター

日本語入力について

HP-UX の Posix Shell(/usr/bin/sh) は日本語に

フルに対応してなかったような気がします。

試すと ksh はOKでした。

$uname -r

B.11.11

$echo $SHELL

/usr/bin/sh

$echo ^ツ^濘ツ^濘ツ^・

あああ

$/usr/bin/ksh

$echo あああ

あああ

N_Su
時折のアドバイザー

日本語入力について

返信ありがとうございます。

>前の質問の続きだとSJISに設定かな・・

言語の設定で質問させていただいた者です。

日本語入力ができないのはエミュレータの問題になりますか?

TeraTermの設定では漢字の項目はSJISに設定してあります。

Winのコマンドプロンプトからtelnetで接続した場合も日本語入力ができません。
N_Su
時折のアドバイザー

日本語入力について

>HP-UX の Posix Shell(/usr/bin/sh) は日本語に

>フルに対応してなかったような気がします。

>試すと ksh はOKでした。

私も試しましたが、ダメでした。

日立のXサーバで接続して

#echo ああああ

ああああ

と正しく入力・表示されます。

isao
頻繁なアドバイザー

日本語入力について

POSIX-SHELLのmanページに載っています。

LC_CTYPE 使用する文字分類情報。シェルの起動後

に LC_CTYPE の値を変更しても、現在の

シェル実行環境またはそのサブシェルで

のシェル・コマンドの照合処理には影響

はありません。

environ(5) を参照。

これは、ログイン後にLANG変数を“ja_JP.SJIS”に

変更しても、POSIX SHELL内部のLOCALEは変更されて

いないことをあらわしています。

次の様にして、試してみてください。

$ export LANG=ja_JP.SJIS

$ sh

$ echo あああああ

あああああ

HASI
頻繁なアドバイザー

日本語入力について

経由しないで直接ログインで入力してもNG

でしょうか?うまくいかなかったような気も。

重複しますが・・・

$ ksh 又は sh

$ export LANG=ja_JP.SJIS

$ stty -istrip

googleでHP-UX 日本語入力 ja_JP.SJIS

で適当に検索してみました。試せないので

間違っていたらあしからず。
isao
頻繁なアドバイザー

日本語入力について

説明不足だったかも知れませんが、

ログイン直後のLOCALEはたぶんCになっていると思います。その後で、(.profileの中で)LANGを、ja_JP.SJISに変更したとしても、POSIX SH内部のLOCALEは変更されません。したがって、入力された文字が2バイトコードだった場合それが正しくエコーバックされる保障はありません。次に、LANG変数を、ja_JP.SJISに変更した状態で、新たにPOSIX SHELLを起動すると、今度は内部のLOCALEがja_JP.SJISに設定されます。ここで、2バイトコードを入力すると、今度は正しくエコーバックされます。

以下の例を参照してください。

$ locale

LANG=

LC_CTYPE="C"



$ export LANG=ja_JP.SJIS <-- LANGをjapaneseに変更する。

$ locale

LANG=ja_JP.SJIS

LC_CTYPE="ja_JP.SJIS"



$ echo '^ツ^濘ツ^濘ツ^濘ツ^濘ツ^・ <--内部のLOCALEが変更されていないので、'あああああ'と入力しても正しくエコーバックされない。

あああああ

$ /usr/bin/sh <-- 新たにPOSIX SHELLを起動(LANGの設定が内部のLOCALEにも反映される)

$ locale

LANG=ja_JP.SJIS

LC_CTYPE="ja_JP.SJIS"



$ echo 'あああああ' <-- 内部のLOCALEが正しくja_JP.SJISに設定されているため、'あああああ'と入力した文字が正しくエコーバックされた。

あああああ