en_US.UTF-8 로캘을 생성할 수 없습니다.

en_US.UTF-8 로캘을 생성할 수 없습니다.

로케일을 설정하려고 했지만 en_US.UTF-8성공하지 못했습니다. 인터넷의 다른 답변에 따르면 먼저 다음을 사용하여 로케일을 생성해야 합니다.

sudo locale-gen en_US.UTF-8

그럼 적용해봐

sudo dpkg-reconfigure locales

그러나 locale-gen실행할 때 이상한 일이 발생합니다.

user@Host /home/user $ sudo locale-gen en_US.UTF-8
Generating locales (this might take a while)...
  en_US.ISO-8859-1... done
Generation complete.

보시다시피 실제로는 UTF-8을 생성하지 않지만 계속해서 ISO-8859-1로 되돌아갑니다. LC_ALL으로 설정할 수 없습니다 en_US.UTF-8. 아마도 빌드되지 않기 때문일 것입니다.

내가 뭐 잘못 했어요? 저는 데비안 8.1을 사용하고 있습니다.

답변1

Debian에서 Ubuntu의 방법을 적용하려고 했습니다. 이는 일반적으로 작동하지만 이 특별한 경우에는 작동하지 않습니다.

Ubuntu는 Debian에서 파생되었으며 설치 프로그램과 GUI를 제외하고는 많이 변경되지 않았습니다. 순서 locale-gen는 변경되는 몇 가지 다른 항목 중 하나입니다. 이유는 모르겠습니다.

Debian에서 이 locale-gen명령은 인수를 사용하지 않으며 구성된 로케일 목록을 기반으로 컴파일된 로케일 정의를 다시 생성합니다. 사용할 로케일 선택을 수정하려면 파일을 편집한 후 명령을 /etc/locale.gen실행하십시오 . locale-gen또는 dpkg-reconfigure locales루트로 실행하고 원하는 추가 로케일을 선택하고(필요하지 않은 로케일은 선택 취소) 확인을 누릅니다.

Ubuntu에서는 인수 없이 명령을 실행하면 locale-gen구성된 로케일 목록을 기반으로 컴파일된 로케일 정의가 다시 생성됩니다. 그러나 일부 매개변수를 전달하면 해당 매개변수가 목록에 추가되고 즉시 생성됩니다. 로케일 목록은 에 저장됩니다 /var/lib/locales/supported.d/local. dpkg-reconfigure locales실행하면 선택 항목을 수정할 기회를 주지 않고 컴파일된 로케일만 다시 생성됩니다.

요약하자면, en_US.UTF-8사용 가능한 로캘 목록에 추가하려면 다음을 수행하세요.

  • 데비안, 대화형:dpkg-reconfigure locales
  • 데비안, 자동화:sed -i 's/^# *\(en_US.UTF-8\)/\1/' /etc/locale.gen && locale-gen
  • 우분투, 자동화:locale-gen en_US.UTF-8

답변2

인터넷을 맹목적으로 신뢰하는 대신 실제로 locale-gen에 대한 man 파일을 읽은 후 locale-gen실제로 에서 생성해야 한다는 것을 발견했습니다 /etc/locale.gen. 주석을 제거하여 en_US.UTF-8성공적으로 생성했습니다.

관련 정보