>운영 및 유지보수 >Docker >도커 중국어 잘못된 코드를 해결하는 방법

도커 중국어 잘못된 코드를 해결하는 방법

PHPz
PHPz원래의
2023-04-04 10:43:285548검색

기술의 발전과 함께 컨테이너화 기술은 점점 더 많은 관심과 사랑을 받고 있습니다. 현재 가장 유명한 컨테이너화 플랫폼 중 하나인 Docker는 다양한 기업이 신속한 애플리케이션 배포, 지속적인 통합, 신속한 반복 및 생산 환경 안정성을 달성하는 데 중요한 도구가 되었습니다. 그러나 Docker를 사용하는 과정에서 우리는 필연적으로 몇 가지 문제에 직면하게 되며, 그 중 중국어 문자가 왜곡되는 문제는 누구나 자주 직면하는 문제입니다.

한자가 깨져 나오는 문제가 발생합니다

Docker 컨테이너가 실행될 때 컨테이너 이미지가 다르기 때문에 시스템, 환경, 서비스가 다르기 때문에 먼저 Docker 이미지에 중국어 글꼴 파일을 가져와서 글꼴을 추가해야 합니다. 중국어를 표시하는 환경 변수의 경로입니다. 그렇지 않으면 한자가 깨져서 표시됩니다.

해결책 1:

수동으로 중국어 글꼴 파일 가져오기:

Windows에서 Docker 컨테이너로 중국어 글꼴 파일 복사:

  1. Windows에서 중국어 글꼴을 찾습니다(일반적으로 C:WindowsFonts 디렉터리에 있음). simkai.ttf 및 simfang.ttf로
  2. Docker 컨테이너에 글꼴 파일을 복사합니다. 예:

docker cp C:WindowsFontssimkai.ttf mycontainer:/usr/share/fonts

docker cp C:WindowsFontssimfang.ttf mycontainer:/usr/ share/fonts

  1. 컨테이너의 글꼴 라이브러리에 글꼴 파일을 설치합니다.

docker exec mycontainer apk addfontconfig

docker exec mycontainer fc-cache -fv

  1. 환경 변수에 글꼴 경로를 추가하세요. :

docker exec mycontainer 내보내기 LANG=zh_CN.UTF-8

docker exec mycontainer 내보내기 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 import JAVA_HOME=/usr

해결책 2:

미리 설정된 템플릿을 사용하여 새 Docker 이미지를 만듭니다.

Dockerfile 파일을 사용하여 새 이미지를 만들고 직접 추가할 수 있습니다. 중국어 글꼴 파일, 글꼴 라이브러리 및 환경 변수와 같은 것입니다.

다음은 예입니다.

FROM alpine:3.11

RUN apk --no-cache add ttf-dejavufontconfig && 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 글꼴 라이브러리와 글꼴 구성 플러그인을 설치한 다음 사용자 정의 중국어 글꼴 파일을 이미지에 추가했습니다. 마지막으로 fc-cache 명령을 실행하여 글꼴 라이브러리를 새로 고쳐 컨테이너가 중국어를 올바르게 사용할 수 있는지 확인하세요.

요약

한자 깨짐 문제는 Docker를 사용하면서 흔히 발생하는 문제로, Docker를 사용하기 전에 먼저 목적과 요구 사항을 명확히 하고, 이미지 제작 시 한자 깨짐 문제를 해결하기 위해 최선을 다해야 합니다. . 기존 Docker 컨테이너의 경우 수동으로 중국어 글꼴 파일을 가져오거나 사전 설정된 템플릿의 새 이미지를 생성하여 일반 중국어 표시 요구 사항을 충족할 수도 있습니다.

위 내용은 도커 중국어 잘못된 코드를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.