CentOS7とDockerの構成中国語の文字セットの問題

作成者:willblog、オリジナル:https://blog.csdn.net/networken/article/details/97951173

説明##

Linuxシステムはデフォルトで英語の文字セットを使用し、中国語の文字セットなどの他の文字はインストールされません。

現在の文字セットを表示する

$ echo $LANG
en_US.UTF-8

文字セットをインストールする
localeコマンドを使用して、現在のシステムで使用されている文字セットを確認します

$ locale
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=

システムが中国語の文字セットをサポートしているかどうかを確認します

# locale -a | grep CN
bo_CN
bo_CN.utf8
ug_CN
ug_CN.utf8
zh_CN
zh_CN.gb18030
zh_CN.gb2312
zh_CN.gbk
zh_CN.utf8

次のコマンドを実行してインストールしなかった場合

# CentOS6.x:
yum groupinstall chinese-support

# CentOS7.x
yum install -y kde-l10n-Chinese
yum reinstall -y glibc-common

# 文字セットを定義する
localedef -c -f UTF-8-i zh_CN zh_CN.UFT-8
# 正常に読み込まれたことを確認します
locale -a

システム文字セットを変更する
システム文字セットの構成ファイルを変更します。

# echo 'LANG="zh_CN.UTF-8"'>/etc/locale.conf
# source /etc/locale.conf

または、文字セットを一時的に変更します。

LANG="<キャラクターセット>"
LANG="zh_CN.UTF-8"

# または、文字セット環境変数をプロファイルに書き込みます
vim /etc/profile
source /etc/profile

文字セットの変更を確認する

# echo $LANG
zh_CN.UTF-8

# locale
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=

ssh端末の文字セットを変更する

上記の方法で中国語の設定を変更しても機能しない場合は、SSH端末で選択したxshellなどのエンコードに注意してください。たとえば、端末のエンコードとして中国語またはUTF8を選択します。
それでもシステムインターフェイスが文字化けしているように見える場合は、次のパッケージをインストールします。

yum groupinstall "fonts"-y

それでも文字化けする場合は、フォントのインストールパスを入力し、次のコマンドを実行します
[ root@localhost ~]# cd /usr/share/fonts/[root@localhost ~]# fc-cache -fv

コンテナ環境設定文字セット##

例としてCentOS7コンテナイメージを取り上げます
デフォルト設定を表示する

# docker run -it --rm centos sh
sh-4.2# echo $LANG

sh-4.2# locale
LANG=
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=

sh-4.2# locale -a
C
POSIX
en_US.utf8

例としてzh_CN.GB18030文字セットの構成を取り上げます

yum install -y kde-l10n-Chinese
yum reinstall -y glibc-common
localedef -c -f GB18030 -i zh_CN zh_CN.GB18030

# 中国語の言語パックが正常にロードされていることを確認しますzh_CN.gb18030
# locale -a
C
POSIX
en_US.utf8
zh_CN.gb18030

文字セット構成を変更する

$ cat /etc/locale.conf 
LANG="en_US.UTF-8"
$ echo 'LANG="zh_CN.GB18030"'>/etc/locale.conf && source /etc/locale.conf
$ echo "export LC_ALL=zh_CN.GB18030">>/etc/profile && source /etc/profile

# 構成が有効になっていることを確認します
$ echo $LANG
zh_CN.GB18030

Dockerfileの例:

dockerコンテナ環境では、dockerfileに基づいて対応する文字セットイメージを作成し、次のコンテンツをカスタムdockerfileに追加する必要があります。

# cat Dockerfile
FROM centos
LABEL Maintainer dockerhub.com
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
 && yum -y install kde-l10n-Chinese \
 && yum -y reinstall glibc-common \
 && localedef -c -f GB18030 -i zh_CN zh_CN.GB18030 \
 && echo 'LANG="zh_CN.GB18030"'>/etc/locale.conf \
 && source /etc/locale.conf \
 && yum clean all 
ENV LANG=zh_CN.GB18030 \
 LC_ALL=zh_CN.GB18030

Recommended Posts

CentOS7とDockerの構成中国語の文字セットの問題
Dockercentos7中国のカオス問題の解決策
Centosmysqlのインストールと構成
Centos7のインストールと構成のプロメテウス
CentOS7のインストールと構成PPTP
CentOSのインストールと構成cmake
Centos7.5のインストールと構成MongoDB4.0.4
CentOS7のインストールと構成PPTP
Centos7のインストールとJenkinsの構成
CentOS8インストールGitと基本構成
Centos7hadoopクラスターのインストールと構成
CentOS7.2およびNginx構成仮想ホスト
CentOSでのJava-JDKのインストールと構成
CentOS6.8でdockerをインストールして使用する
CentOS 7Tomcatサービスのインストールと構成
Centos 7 RAID5の詳細な説明と構成
Ubuntu19.1のインストールと構成中国の環境
CentOSNTPサーバーのインストールと構成
Centos7mysqlデータベースのインストールと構成
CentOS7システムのインストールと構成のグラフィックチュートリアル
CentOS 7でのTomcatのインストールと構成(Tomcatの起動)
CentOS6 / 7でのMySQL8.0のインストール、展開、および構成
Centos7はMySQL8問題レコードをコンパイルしてインストールします
Dockerをデプロイし、CentOSでNginxを構成します
Centos7ハイブスタンドアロンモードのインストールと構成
Centos7構成のホスト名とIPアドレス
CentOS7システムでのJDKのインストールと構成
CentOS7にDockerをインストールして使用する方法
CentOS 6.5システムのインストールと構成のグラフィックチュートリアル(詳細なグラフィック)
VMware10でのCentOS7のインストールと構成のグラフィックチュートリアル
Centos7.6デュアルネットワークカードの構成とスイッチングテスト
CentOSの下でyumを介してsvnと構成をインストールします
CentOS6.5でのrsyncサーバーのインストールと構成
VMwareWorkstationでのCentOS7のインストールと構成
CentOS7 DockerNginxの展開と操作の詳細な説明
Windows 8Hyper-VでのCentOS6およびSSH構成のインストール
CentOS8でのMySQL8.0のインストール、展開、および構成のチュートリアル
CentOS7はDockerをインストールします
CentOS7.0ネットワーク構成
CentOS7.0ネットワーク構成
CentOS7はDockerをインストールします
CentOS7の基本構成
Dockerのインストール(CentOS7のインストール)
Centos7はDockerをインストールします
Centos7インストールdocker18
centos7インストールドッカー
CentOS7ドッカーのインストール
CentOS6はDockerをインストールします
Centos8はDockerをインストールします
CentosMySQL8構成
[Linux] Ubuntuはルートパスワードを設定し、xShell接続の問題を解決します
Centos7でのJDK、mysql、tomcatの環境構成
Linuxファイアウォール関連の構成コマンドと操作(centosおよびubuntu)