>운영 및 유지보수 >리눅스 운영 및 유지 관리 >Tomcat 로그에서 중국어 왜곡 문자를 해결하는 방법은 무엇입니까?

Tomcat 로그에서 중국어 왜곡 문자를 해결하는 방법은 무엇입니까?

零下一度
零下一度원래의
2017-07-27 15:27:445224검색

Linux 시스템의 중국어가 깨져 있는데, 이는 많은 친구들이 Linux를 처음 접할 때 종종 겪는 문제입니다. 게다가 Wndows에 배포된 프로젝트를 Linux에서 실행하도록 옮기면 Tomcat의 중국어 출력 로그가 표시됩니다. 모두 깨져서(Windows의 일반 모드에서) 매우 답답해 보이는데 어떻게 해결해야 할까요? ㅋㅋㅋㅋㅋㅋㅋㅋㅋ                                                     한자

4비트

jdk-8u11-linux-x64.

ap ache-tomcat- 8.5.16
  • 솔루션:
  • 1. 중국어 언어 팩을 설치하세요

    ​​​
  •                                      위의 항목이 발견되면 시스템에 중국어 언어 팩이 설치되어 있다는 뜻이므로 다시 설치할 필요가 없다는 의미입니다.

  •     {언어 코드}_{국가 코드}.{문자 집합}

  zh는 중국어 코드, CN은 중국 코드, gb18030, gb2312, utf8은 언어 문자 집합

    그러면 각 항목은 공통적으로 "당신은 중국어를 사용합니다, 당신은 중국에 있습니다, 언어 문자 세트는 gb18030/gb2312/utf8”로 이해됩니다

    위 항목을 찾을 수 없으면 중국어 언어 팩을 수동으로 설치하세요

   # 

yum install kde-l10n-English (약 11M)

   2. i18n 국제화 및 locale.conf 현지화 구성 파일 수정

                            현재 시스템 로케일

   

  

 ( "en_US.UTF-8"은 다음과 같이 이해될 수 있습니다. "당신은 영어를 말하고, 당신은 미국에 있고, 언어 문자 집합은 UTF-8입니다" 위 내용에 따라)

   각 항목의 의미는 다음과 같습니다.

   LANG: 현재 시스템의 언어
                  LC_CTYPE : 언어 기호 및 분류

   LC_NUMERIC: 숫자   LC_COLLATE: 비교 및 ​​정렬 습관

   LC_TIME: 시간 표시 형식   LC_MO NETARY: 통화 단위

  LC_MESSAGES: 정보는 주로 프롬프트 정보, 오류 정보, 상태 정보, 제목, 라벨, 버튼, 메뉴 등

   LC_NAME: 이름 표기 방식

  LC_ADDRESS: 주소 표기 방식

  LC_TELEPHONE: 전화번호 표기 방식

  LC_MEASUREMENT: 도량형 표현

  LC PER: 기본 용지 크기

LC_IDENTIFICATION: 예 로케일 자체에 포함된 정보 개요

  LC_ALL: 이 변수가 설정되면 모든 LC_* 및 LANG 변수는 강제로 해당 값을 따릅니다.

   우리는 중국어 언어 팩이지만 이 컴퓨터의 로캘은 중국어가 아닙니다. 먼저 i18n 구성 파일을 수정하세요

   # vim /etc/sysconfig/i18n

    다음 두 줄의 코드를 추가하세요

   LC_ALL="zh_CN.UTF-8 "

  

   # source /etc/sysconfig/i18n

  locale.cnf 구성 파일 수정

​​​​시스템 재시작

  # 재부팅

  3. 터미널 연결 인코딩 설정

   파일->열기->세션 선택->마우스 우클릭->속성->터미널(터미널 연결 제가 사용하는 도구는 Xshell 입니다.)

  인코딩을 UTF -8

  다시 연결하여 현재 시스템 로케일을 확인하세요

    # locale

       

                                          를 통해 그런 다음 현재 시스템 로케일을 확인하십시오

# locale

oid atic tales

``

다시 중국어를 편집 해보십시오

#vim 당신은 돼지입니까? 이 시점에서 시스템 중국어 왜곡 문제가 해결되었습니다.

  4. Tomcat 출력 로그의 한자 깨짐 문제 해결

시스템의 한자 깨짐 현상이 해결되었으니 Tomcat 출력 로그의 한자 깨짐 현상도 해결되나요?

  이제 Tomcat 출력 로그를 살펴보겠습니다

Tomcat 디렉터리를 입력합니다

  # cd $CATALINA_HOME

  # tail -f ./logs/catalina.out

                                                                                                아직도 횡설수설합니다.

분석: 시스템에 더 이상 중국어 깨짐 문자가 없으므로 시스템 언어 환경은 정상임을 입증했지만 Tomcat 로그에는 여전히 중국어 깨짐 문자가 나타나 Tomcat 내부 문제임을 나타냅니다. 온라인에서 일부 정보를 확인했습니다. JVM(Java Virtual Machine)이라는 것을 알게 되었습니다. )

  Java 가상 머신에서 사용하는 문자 집합과 시스템에서 사용하는 문자 집합이 일치하지 않는 이유를 알면 문제가 해결됩니다. JVM의 시작 매개변수를 구성하여 JVM에서 사용하는 문자 세트를 수정합니다.

      # ls -l ./bin/

     

  daemon.sh 및 catalina.sh를 찾아서 각각 다음 코드를 추가하세요.

      JAVA_OPTS="$JAVA_OPTS -Djavax.servlet.request.encoding=UTF-8 - Dfile.encoding=UTF-8 -Duser.언어=zh_CN -Dsun.jnu.encoding=UTF-8"

            # vim ./bin/daemon.sh

                                                                                   

 저장하고 종료하고 Tomcat을 다시 시작

  # ./ bin/shutdown.sh

  # ./bin/startup.sh

 이제 출력 로그를 확인하세요

  # tail -f ./logs/catalina.out

 에 서버가 요청을 보냅니다

위 내용은 Tomcat 로그에서 중국어 왜곡 문자를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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