이제 그놈 터미널의 문자 인코딩을 “GBK”(기본값은 UTF-8)로 변경했지만 Linux에서 값 (문자 인코딩)을 어떻게 얻을 수 있습니까?
답변
답변
locale
인수가없는 명령은 LANGUAGE를 제외한 모든 관련 환경 변수의 값을 인쇄합니다.
현재 인코딩의 경우 :
locale charmap
사용 가능한 로케일 :
locale -a
사용 가능한 인코딩 :
locale -m
답변
인코딩 및 언어 확인 :
$ echo $LC_CTYPE
ISO-8859-1
$ echo $LANG
pt_BR
모든 언어 얻기 :
$ locale -a
pt_PT.utf8로 변경합니다.
$ export LC_ALL=pt_PT.utf8
$ export LANG="$LC_ALL"
답변
Python이있는 경우 :
python -c "import sys; print(sys.stdout.encoding)"
답변
내가 아는 한, 아닙니다.
에서 정황 표시 $LC_CTYPE
, locale
이러한 힘은 고혹적 인 것처럼 보이지만이 완전히 터미널 응용 프로그램을 인코딩 (실제로 에뮬레이터)에서 분리 된 화면에 문자를 표시 할 때 사용되는 일이 있습니다.
인코딩을 확실히 감지하는 유일한 방법은 인코딩에만있는 것을 출력하는 것입니다. 예를 들어 ä
스크린 샷을 찍고 해당 이미지를 분석하고 출력 문자가 올바른지 확인합니다.
아니, 안타깝게도 불가능합니다.
답변
현재 로케일 정보를 보려면 locale
명령을 사용하십시오 . 다음은 RHEL 7.8의 예입니다.
[usr@host ~]$ 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=