リモートRed Hatシステムで中国語の文字を正しく表示するには?

リモート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 20

このコンピュータにアップロードしたファイルが中国語の文字を正しく表示していません。ファイルを開き、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"

そのコンピュータに1億7,800万個のファイルをインストールしました。

その後、別のファイルを開いてibusを使って中国語を少し入力してみました。しかし、問題はまだ存在します。どうすれば解決できますか?


アップデート1 それからもう少し調べました。一部の文字を正しく入力できることがわかりました(ピンイン入力方法、ibus経由)。良い:

起 度 顿 客

彼らはすべてピンインに対応します。しかし、各文字の後には自動的に生成されたスペースがあります(私が入力したものではありません)。

Qi、Du、Dun、Ke(上記の4つの漢字とピンインが同じ)を入力しようとすると。私は持っています:

�~P�~]~\ ~[� ~H�

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

今回は状況が少し異なります。一部の文字は正しく(システム生成スペースを含む)入力できますが、他の文字は読み取れません。

答え1

デフォルトでは、ロケール(に設定されている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のみが必要な場合は、次の2つの方法を使用できます。ASCII

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

    このアプローチでは、追加のパッケージをインストールする必要はないので、これを考慮することができます。

  • ロケールの変更

    しかし、そのためにはそのロケールをインストールする必要があると思います。


上記の中国語エンコーディングのいくつかの詳細です。

  • gbk、、、gb2312gb18030簡体字中国語コードです。

    ファイルがどのエンコーディングを使用しているかわからない場合はgb18030

    各エンコーディングに含まれる文字数は次のとおりです。gb18030>> gbkgb2312高度なコーディングは、次の親セットです。

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

さらに、簡体字中国語エンコーディングを呼び出すこともありますCP936(コードページ936、Windowsからの名前のようです)。

答え2

次の行を追加しました~/.bash_profile

export LC_ALL=en_US.UTF-8

答え3

2つのファイルを変更する必要があると思います。

1)内部/etc/default/locale

LANG=" en_US.UTF-8"
LANGUAGE=" en_US:en.UTF-8"

2)内部~/.pam_environment

LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8

3) 再起動

関連情報