Ubuntu14.04を使用してリモートホストに接続しています。
そのバージョンは次のとおりです。
Linuxバージョン2.6.32-431.11.5.el6.yyyzzz.x86_64(gccバージョン4.4.7 20120313(Red Hat 4.4.7-4)(GCC))#1 SMP Thu Jul 3 09:42:34 CST 2014
そのマシンのアップロードファイルで漢字が正しく表示されません。そして、ファイルを開き、Ubuntu ibus input method
で漢字をランダムに入力します。そしてそれは示しています:
~R~V�~K~B~I~W个~I~N~T�饭~T~E
オンラインで検索し、次の2つの方法を試しました。
1:ロケールを調べる
It shows:
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC=en_US.UTF-8
LC_TIME=en_US.UTF-8
LC_COLLATE="en_US.UTF-8"
LC_MONETARY=en_US.UTF-8
LC_MESSAGES="en_US.UTF-8"
LC_PAPER=en_US.UTF-8
LC_NAME=en_US.UTF-8
LC_ADDRESS=en_US.UTF-8
LC_TELEPHONE=en_US.UTF-8
LC_MEASUREMENT=en_US.UTF-8
LC_IDENTIFICATION=en_US.UTF-8
LC_ALL=
問題ないようです。
2:中国語サポートパッケージをインストールする
やった:
yum install "@Chinese Support"
そのマシンに178Mのファイルをインストールしました。
その後、別のファイルを開き、ibusで中国語を入力してみます。しかし、問題は残っています、それをどのように解決しますか?
pdate1後でさらに調査を行いました。一部の文字は(ピンイン入力方式、ibusを介して)正しく入力できることがわかりました。お気に入り:
起 度 顿 客
彼らはすべて彼らのピンインに対応しています。しかし、各文字の後に自動生成されたスペースがあります(私が入力したのではありません)。
启、杜、盾、刻と入力しようとすると、上記の4つの漢字と同じピンインがあります。私は得ました:
�~P�~]~\ ~[� ~H�
私の経験では、コード変換が完全に混乱している場合。ピンインを入力すると、中国語のように見えるが実際にはそうではなかった有線の文字がいくつか表示され、入力したピンインに対応することはありません。
今回は少し違います。システムで生成されたスペースを使用して一部の文字を正しく入力でき、他の文字は判読できません。
基本的に、これは、UTF-8
に設定されているロケールと、gbk
、gb2312
でエンコードされている中国語文字ファイルのエンコーディングとの間の不一致の問題である可能性があります。 gb18030
、またはBig-5
。
上記のすべてのエンコーディングは非互換とUTF-8
です。
ここで、gbk
がファイルのエンコーディングであると仮定します。そのため、ファイルの内容を表示しようとすると、gbk
でエンコードされたファイルがUTF-8
ファイルとして解釈され、意味不明なものになります。
luit
を使用します。 (推奨)
$ whatis luit
luit (1) - Locale and ISO 2022 support for Unicode terminals
luit -encoding gbk cat a_chinese_file.txt
使用されているほとんど(すべてではない)のエンコーディングはASCII
と互換性があり、ASCII
の文字と別のエンコーディングのみが必要な場合は、次の2つの方法を使用できます。
端末のエンコーディングを変更する
この方法では追加のパッケージをインストールする必要がないため、それを検討することができます。
ロケールを変更する
しかし、これには対応するロケールをインストールする必要があると思います。
上記の中国語エンコーディングの詳細。
gbk
、gb2312
、gb18030
は簡体字中国語のエンコーディングです。
ファイルが使用している特定のエンコーディングがわからない場合は、gb18030
であると想定してください。
各エンコーディングに含まれる文字数は次のとおりです:gb18030
> gbk
> gb2312
。そして、優れたエンコーディングは、以下のスーパーセットです。
Big-5
は、繁体字中国語のエンコーディングです。
さらに、簡体字中国語のエンコードはCP936
と呼ばれることもあります(コードページ936、この名前はWindowsに由来すると思います)。
この行を~/.bash_profile
に追加しました:
export LC_ALL=en_US.UTF-8