web-dev-qa-db-ja.com

リモートのRed-Hatマシンで漢字を正しく表示する方法は?

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�

私の経験では、コード変換が完全に混乱している場合。ピンインを入力すると、中国語のように見えるが実際にはそうではなかった有線の文字がいくつか表示され、入力したピンインに対応することはありません。

今回は少し違います。システムで生成されたスペースを使用して一部の文字を正しく入力でき、他の文字は判読できません。

8
Zen

基本的に、これは、UTF-8に設定されているロケールと、gbkgb2312でエンコードされている中国語文字ファイルのエンコーディングとの間の不一致の問題である可能性があります。 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つの方法を使用できます。

  • 端末のエンコーディングを変更する

    この方法では追加のパッケージをインストールする必要がないため、それを検討することができます。

  • ロケールを変更する

    しかし、これには対応するロケールをインストールする必要があると思います。


上記の中国語エンコーディングの詳細。

  • gbkgb2312gb18030は簡体字中国語のエンコーディングです。

    ファイルが使用している特定のエンコーディングがわからない場合は、gb18030であると想定してください。

    各エンコーディングに含まれる文字数は次のとおりです:gb18030> gbk> gb2312。そして、優れたエンコーディングは、以下のスーパーセットです。

  • Big-5は、繁体字中国語のエンコーディングです。

さらに、簡体字中国語のエンコードはCP936と呼ばれることもあります(コードページ936、この名前はWindowsに由来すると思います)。

5
pallxk

この行を~/.bash_profileに追加しました:

export LC_ALL=en_US.UTF-8
0
Dai Kaixian