はじめての自宅サーバ構築 - Fedora/CentOS -
Last Update 2018/05/30
[ 更新履歴 ] [ サイト マップ ] [ 質問掲示板 ] [ 雑談掲示板 ] [ リンク ]
トップ >> 当サイト情報 >> スレッド

このページは表示専用です。新規投稿・レスや最新情報はこちらです。

このスレッドはクローズされています。記事の閲覧のみとなります。

 ターミナルで日本語が入力できない
日時: 2006/09/22 01:57
名前: ぎゃばんぬ

はじめまして、ぎゃばんぬと申します。

いろいろと手を尽くして調べてみたのですが
どうしてもわからなかったので質問させてください・・・。

現在FedoraCore5を利用しているのですが、
ターミナルで日本語が表示されません。
たとえば
$> vim test.txt
とやって

のように日本語を入力しようとすると
~D
のように表示されてしまいます。
ただrootで同様の事を行うと、ちゃんと日本語が表示されます・・・。

.vimrcの日本語設定は↓
set encoding=japan
if has('iconv')
  set fileencodings+=iso-2022-jp
  set fileencodings+=utf-8,ucs-2le,ucs-2
  if &encoding ==# 'euc-jp'
   set fileencodings+=sjis
  else
   set fileencodings+=euc-jp
  endif
endif

/etc/sysconfig/i18n は↓
LANG="ja_JP.eucJP"
SYSFONT=none

以上です。
初心者の質問ですみません。
宜しくお願いします。

■ コンテンツ関連情報

 Re: ターミナルで日本語が入力できない ( No.1 )
日時: 2006/09/22 06:47
名前: 管理者

ぎゃばんぬさん、はじめまして。

「.vimrc」ファイルはそのユーザで読み取りできる権限となっていますか?
また、ターミナルソフト側で文字のエンコーディングはあっていますか?
(その文字化けを起こす一般ユーザで、「date」コマンド実行時に文字化けを起こしますか?)

この他にそのユーザで以下の実行結果を教えてください。

$ locale
$ env | grep LANG
 Re: ターミナルで日本語が入力できない ( No.2 )
日時: 2006/09/22 08:35
名前: ぎゃばんぬ

ご返答ありがとうございます

「.vimrc」ファイルは当ユーザで読み取りできる権限となっているようです。
4 -rw-rw-r-- 1 gavan gavan  2927 Sep 22 01:40 .vimrc

ターミナルはPoderosaを使用しており、メニューバーの「コンソール」から「エンコーディング」を見ると「utf-8」になっています。

また、以下コマンド実行結果です。

$date
Fri Sep 22 08:30:04 JST 2006

$locale ↓ちょっと怪しい結果になっています。原因はこのあたりでしょうか・・・?
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=ja_JP.SJIS
LC_CTYPE="ja_JP.SJIS"
LC_NUMERIC="ja_JP.SJIS"
LC_TIME="ja_JP.SJIS"
LC_COLLATE="ja_JP.SJIS"
LC_MONETARY="ja_JP.SJIS"
LC_MESSAGES="ja_JP.SJIS"
LC_PAPER="ja_JP.SJIS"
LC_NAME="ja_JP.SJIS"
LC_ADDRESS="ja_JP.SJIS"
LC_TELEPHONE="ja_JP.SJIS"
LC_MEASUREMENT="ja_JP.SJIS"
LC_IDENTIFICATION="ja_JP.SJIS"
LC_ALL=

$ env | grep LANG
LANG=ja_JP.SJIS

以上です。宜しくお願いします。
 Re: ターミナルで日本語が入力できない ( No.3 )
日時: 2006/09/22 08:56
名前: 管理者

> /etc/sysconfig/i18n は↓
> LANG="ja_JP.eucJP"

システム自体は「eucJP」でそのユーザは「SJIS」、ターミナルの「エンコーディング」が「utf-8」で統一されていないからではないでしょうか?
(システム「euc」、ユーザー毎に「SJIS」や「utf-8」など異なるケースは問題ありません・・)

ターミナルの「エンコーディング」を「S-JIS」にして確認してみて下さい。

※:ただ、そのユーザ「SJIS」で「date」コマンドを入力した時に「LANG=C(英語)」で表示される分が気になりますが・・・
 Re: ターミナルで日本語が入力できない ( No.4 )
日時: 2006/09/23 01:13
名前: ぎゃばんぬ

お世話になっております。ぎゃばんぬです。

ターミナルのエンコーディングを「S-JIS」にして確認してみましたが
やはり文字化けします。
今度は「い」と打つと「~B」に変換されました。

また、localeの結果ですがroot権限で行うと以下の3行のエラーが出ないようです。
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory

そこで上記エラーを検索し、以下のサイトを参考にいろいろ試してみましたが、
やはり文字化けしてしまいます・・・。
http://bbs.fedora.jp/read.php?FID=2&TID=695
http://buxus.s31.xrea.com/pukiwiki/?cmd=read&page=debootstrap%2Ftest1
 Re: ターミナルで日本語が入力できない ( No.5 )
日時: 2006/09/23 22:55
名前: Jin

はじめまして、Jinです。
こちらのサイトを拝見させていただき参考にさせていただいています。

未熟な知識ですが参考にしてください。

(現象) 以下のエラーが表示されShift-JISが使用できない。

locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory

今回の場合、OSで「ja_JP.SJIS」がサポートされていないのが原因だと思います。

以下のコマンドを実行しください。

$ locale -a | grep ja
ja_JP
ja_JP.eucjp
ja_JP.ujis
ja_JP.utf8
japanese
japanese.euc

実行結果に「ja_JP.sjis」が表示されていない場合は、Shift-JISを使用することができません。

root環境で問題ないのは、システムのデフォルト(/etc/sysconfig/i18n)が「ja_JP.eucJP」に
なっていることからデフォルトの「ja_JP.eucJP」を使用しているのではないでしょうか?
rootでlocaleコマンドを実行して確認してください。

(解決策1)

Red Hat Enterprise Linux ES4、Vine Linux、FedoraCore3などでは、標準で「ja_JP.SJIS」は
サポートされていませんでした(確認済み)。

・ご使用している一般ユーザの環境(.bashrcなど)を、以前使用していたシステムなどからそのまま
 移行していませんでしょうか?
・Windowsとの互換の為にSHIFT-SJISをどうしても使用したいのでしょうか?

出来れば、システムデフォルトの「ja_JP.eucJP」を使用することをお勧めします。

(解決策2)

どうしても「ja_JP.SJIS」を使用したいのであれば、以下のコマンドを
rootの権限で実行してください。

# localedef -f SHIFT_JIS -i ja_JP ja_JP.SJIS

  (メッセージが出力されても無視してください。)

# locale -a | grep ja
ja_JP
ja_JP.eucjp
ja_JP.sjis
ja_JP.ujis
ja_JP.utf8
japanese
japanese.euc

ロケールに「ja_JP.sjis」が追加されたことを確認します。

管理者さんよりの指摘にあるようにターミナルソフトの「エンコーディング」が「shift-jis」で
あることを確認して動作確認を行ってみてください。
 Re: ターミナルで日本語が入力できない ( No.6 )
日時: 2006/09/24 10:25
名前: ぎゃばんぬ

お世話になっております。ぎゃばんぬです。
Jinさん。ご丁寧に解説していただきありがとうございます。
無事問題が解決しました!

>出来れば、システムデフォルトの「ja_JP.eucJP」を使用することをお勧めします。
まずご指摘どおり、文字コードをeuc-jpにすることにしました。

それぞれの文字コードですが、

/etc/sysconfig/i18n の結果は
LANG="ja_JP.UTF-8"
SYSFONT="none"

ターミナルのエンコーディングは
shift-jis

locale -a | grep ja の結果は
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_COLLATE to default locale: No such file or directory
ja_JP
ja_JP.eucjp
ja_JP.ujis
ja_JP.utf8
japanese
japanese.euc

と以上のようにバラバラでしたので(管理人さんのご指摘の意味がやっと分かりました・・)
全てを「euc-jp」に統一したところ、問題が解決しました。
ありがとうございました。

管理人さんにも感謝いたします。
ありがとうございました。

■ その他

ページ先頭へ


Copyright(©)2004-2018 First home server construction. All Right Reserved.