Dockerでdocker search centosを使用する場合 docker pull docker.io/centos を使用してベースイメージをダウンロードします。 このイメージは中国語をサポートしていません。docker attach container ID を使用してコンテナーに入り、「locale」を使用して表示することができます。 「locale -a」を使用してシステム言語パッケージを確認すると、中国語パッケージがないことがわかります。 解決:1. yum install kde-l10n-Chinese -y 言語パックをインストールします (Centos 7 の場合) 2. yum reinstall glibc-common -y を実行して gitbc パッケージを更新します (イメージによってパッケージの一部の機能が削除されているため、更新する必要があります) 3. localedef -c -f UTF-8 -i zh_CN zh_CN.utf8 (システム言語パックを設定) 4. ENV LC_ALL zh_CN.UTF-8 は環境変数を設定することで設定されます (/etc/locale.conf ファイルを直接変更できますが、再起動が必要です) 5. Dockerfileを使用する場合は、以下を参照してください。 # バージョン情報 docker.io/centos:latest メンテナー mapengfei "[email protected]" #システムエンコーディングを設定する RUN yum install kde-l10n-Chinese -y yum install glibc-common -yを実行します。 実行 localedef -c -f UTF-8 -i zh_CN zh_CN.utf8 #RUN エクスポート LANG=zh_CN.UTF-8 #RUN echo "export LANG=zh_CN.UTF-8" >> /etc/locale.conf #ENV LANG zh_CN.UTF-8 ENV LC_ALL zh_CN.UTF-8 補足: Dockerコンテナの文字エンコーディングを-zh_CN.UTF-8中国語文字セットに変更します バージョン履歴 2019年4月26日初版 問題の説明同社の Java プロジェクトでは、ファイル形式の変換に OpenOffice と pdf2html を使用しています。Word、ppt、pdf ファイルはすべて問題なく変換されますが、Excel では変換後に文字化けが発生します。 背景プロジェクトは Docker コンテナで実行されます。Docker バージョン: Docker バージョン 18.06.1-ce、ビルド e68fc7a コンテナ システム カーネル バージョン: 3.10.0-514.el7.x86_64 コンテナシステムバージョン: Cent0S7 原因アーキテクチャとやり取りした結果、Word、PDF、PPTファイルはOpenOfficeとPDF2HTMLで変換されますが、Excelファイルはこの方法で処理されず、インターネット上のオープンソースのJavaコードを使用して実装されていることがわかりました。コードを読んだ後、アーキテクチャは、このコードがExcelファイルを変換するときにホストシステムの言語構成を読み取ることを発見したため、問題の原因はシステムの文字エンコード設定であると判断されました。 回避策システムの文字エンコードを確認すると、問題はありません (最初の 3 行に注目してください)。文字セットは正しく設定されているようです。最初の 3 行に問題がないか確認してください。オンラインでは、これは中国語の文字セットがインストールされていないことが原因であると言われています。 [root@4273aa460888 opt]# ロケール ロケール: LC_CTYPE をデフォルト ロケールに設定できません: そのようなファイルまたはディレクトリはありません ロケール: LC_MESSAGES をデフォルトのロケールに設定できません: そのようなファイルまたはディレクトリはありません ロケール: LC_ALL をデフォルト ロケールに設定できません: そのようなファイルまたはディレクトリはありません 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= このマシンにどの文字セットがインストールされているか確認してみましょう。 しまった、中国語の文字セットがインストールされていない... (インストールされていないと、設定しても役に立たない) [root@4273aa460888 opt]# ロケール -a ロケール: LC_CTYPE をデフォルト ロケールに設定できません: そのようなファイルまたはディレクトリはありません ロケール: LC_MESSAGES をデフォルトのロケールに設定できません: そのようなファイルまたはディレクトリはありません ロケール: LC_COLLATE をデフォルトに設定できません ロケール: そのようなファイルまたはディレクトリはありません C POSIX en_US.utf8 /etc/locale.conf の内容を見てみましょう。 ああ、まだ英語の文字セットのままです... [root@4273aa460888 opt]# cat /etc/locale.conf LANG="en_US.UTF-8" さて、次に中国語の文字セットをインストールしましょう yum.confファイル内の言語設定を削除します。 sed -i '13'd /etc/yum.conf フォントとglibcをインストールする yum インストール -y kde-l10n-中国語 glibc-common もう一度見てみましょう。最後に、 [root@35b0e9b16498 opt]# ロケール -a|grep zh 日本語 原文 翻訳元 翻訳元 utf8 形式 日本語 翻訳元 utf8 の 翻訳 原文 翻訳元 utf8 は、 日本語 翻訳元 zh_TW.euctw utf8 は /etc/locale.confファイルを再度変更してみましょう echo -e 'export LANG="zh_CN.UTF-8"\nexport LC_ALL="zh_CN.UTF-8"' > /etc/locale.conf ソース /etc/locale.conf もう一度文字エンコードを見てみましょう。エラーはなく、すべて正常です。 [root@35b0e9b16498 opt]# ロケール 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=zh_CN.UTF-8 上記は私の個人的な経験です。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。間違いや不備な点がありましたら、遠慮なくご指摘ください。 以下もご興味があるかもしれません:
|
目次同じ名前の名前空間をマージする名前空間とその他の種類のマージ同じ名前の名前空間とクラスをマージす...
テーブルページを作成するときに、td に設定された幅が無効になることがあります。td の幅は常に内部...
このチュートリアルでは CentOS 7 64 ビットを使用します。各仮想マシンに 2GB のメモリ...
目次必要データを取得して送信するテンプレートフィルターフィルターの使用シナリオ要約する必要Vue を...
Linux へのリモート デスクトップ接続といえば、まず VNC の使用を思い浮かべるかもしれません...
ステップ1: MySQLでbinlogが有効になっていることを確認する '%log_bin%...
背景: 一部の実験はサーバー上で完了する必要があります。したがって、リモート サーバー上のコードをロ...
Postfix は、Linux システム上で電子メールをルーティングまたは配信するために使用される無...
目次1. 開発環境2. dockerプラグインをインストールする1. アイデアのインストール2. イ...
目次1. はじめに2. 使用1. @コンポーネント2. 計算、データ、方法3. @props 4. ...
今日は、Linux ホスト上で 4 つの MySQL データベースを起動する方法について説明します。...
クリックハウスの紹介ClickHouse は、SQL クエリを使用して分析データ レポートをリアルタ...
Docker入門Docker はオープンソースのアプリケーション コンテナ エンジンです。従来の仮...
Dockerfile は、イメージをビルドするために使用されるテキスト ファイルです。テキスト コン...
Docker で Zookeeper を素早くインストール会社を変わってから長らくZookeeper...