私は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
、、、gb2312
はgb18030
簡体字中国語コードです。ファイルがどのエンコーディングを使用しているかわからない場合は
gb18030
。各エンコーディングに含まれる文字数は次のとおりです。
gb18030
>>gbk
。gb2312
高度なコーディングは、次の親セットです。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) 再起動