ホームページ >運用・保守 >Docker >Docker 中国語の文字化けコードを解決する方法

Docker 中国語の文字化けコードを解決する方法

PHPz
PHPzオリジナル
2023-04-04 10:43:285548ブラウズ

テクノロジーの発展に伴い、コンテナ化テクノロジーはますます注目され、支持されるようになりました。現在、最も有名なコンテナ化プラットフォームの 1 つである Docker は、さまざまな企業にとって、アプリケーションの迅速な導入、継続的統合、迅速なイテレーション、運用環境の安定性を実現するための重要なツールとなっています。しかし、Dockerを使っていく過程で必ずいくつかの問題に遭遇しますが、中でも中国語の文字化けは誰もがよく遭遇する問題です。

中国語の文字化けの問題

Dockerコンテナの実行中は、コンテナイメージ、システム、環境、サービスが異なるため、最初に中国語フォントファイルをDockerイメージにインポートする必要があります。 、中国語を表示するには、環境変数にフォントのパスを追加します。そうしないと、中国語が文字化けして表示されます。

解決策 1:

中国語フォント ファイルを手動でインポートします:

中国語フォント ファイルを Windows から Docker コンテナーにコピーします:

  1. Findコンピューター上の Windows 中国語フォント (通常は C:\Windows\Fonts ディレクトリにあります) (simkai.ttf や simfang.ttf など);
  2. フォント ファイルを Docker コンテナーにコピーします。例:

docker cp C:\Windows\Fonts\simkai.ttf mycontainer:/usr/share/fonts

docker cp C:\Windows\Fonts\simfang.ttf mycontainer:/usr/ share/fonts

  1. フォント ファイルをコンテナのフォント ライブラリにインストールします:

docker exec mycontainer apk add fontconfig

docker exec mycontainer fc-cache -fv

  1. 環境変数にフォント パスを追加します:
#docker exec mycontainer export LANG=zh_CN.UTF-8

docker exec mycontainer export LANGUAGE= zh_CN.UTF-8

docker exec mycontainer エクスポート LC_ALL=zh_CN.UTF-8

docker exec mycontainer エクスポート FONT_HOME=/usr/share/fonts

docker exec mycontainer エクスポートJAVA_HOME=/usr

解決策 2:

プリセット テンプレートを使用して新しい Docker イメージを作成します:

Dockerfile ファイルを使用して新しいイメージを作成し、中国語フォント ファイルを直接、フォント ライブラリや環境変数などに追加します。

以下は例です:

FROM alpine:3.11

RUN apk --no-cache add ttf-dejavu fontconfig && rm -rf /var/cache/apk / *

ENV LANG=zh_CN.UTF-8 \

LANGUAGE=zh_CN.UTF-8 \
LC_ALL=zh_CN.UTF-8 \
FONT_HOME=/usr/share/fonts \
JAVA_HOME=/usr
ADD ./fonts/* ${FONT_HOME}/

RUN fc-cache -fv

CMD ["tail", "-f", "/dev/null"]

上記のコードでは、Alpine Linux 3.11 の基本イメージから開始し、最初に ttf-dejavu フォントをインストールします。ライブラリと fontconfig プラグインを追加し、カスタム中国語フォント ファイルをミラーに追加します。最後に、fc-cache コマンドを実行してフォント ライブラリを更新し、コンテナーが中国語を正しく使用できることを確認します。

まとめ

Docker利用において中国語の文字化け問題はよくある問題であり、Dockerを利用する前に目的や要件を明確にし、解決に向けて最善を尽くす必要があります。画像制作時の中国語文字化けの問題です。既存の Docker コンテナーの場合、中国語フォント ファイルを手動でインポートするか、プリセット テンプレートの新しいイメージを作成することで、通常の中国語表示の要件を満たすこともできます。

以上がDocker 中国語の文字化けコードを解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。