로케일 오류를 수정하는 방법


11

방금을 사용하여 우분투를 새로 설치했습니다 debootstrap. 내가 할 sudo aptitude upgrade때이 오류 메시지가 나타납니다.

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = "en_US:en",
    LC_ALL = (unset),
    LANG = "en_US.ISO-8859-1"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory

누군가이 문제를 해결하는 방법을 알려주시겠습니까? 이 온라인과 비슷한 게시물을 많이 보았지만 아무도 문제를 해결하지 못하는 것 같습니다.

사용하고 Ubuntu 14.04 LTS있습니다. 감사.


참고 사항 :

$ locale -a
C
C.UTF-8
en_AG
en_AG.utf8
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN
en_IN.utf8
en_NG
en_NG.utf8
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.iso88591
en_US.utf8
en_ZA.utf8
en_ZM
en_ZM.utf8
en_ZW.utf8
POSIX

$ locale
LANG=en_US.ISO-8859-1
LANGUAGE=en_US:en
LC_CTYPE="en_US.ISO-8859-1"
LC_NUMERIC="en_US.ISO-8859-1"
LC_TIME="en_US.ISO-8859-1"
LC_COLLATE="en_US.ISO-8859-1"
LC_MONETARY="en_US.ISO-8859-1"
LC_MESSAGES="en_US.ISO-8859-1"
LC_PAPER="en_US.ISO-8859-1"
LC_NAME="en_US.ISO-8859-1"
LC_ADDRESS="en_US.ISO-8859-1"
LC_TELEPHONE="en_US.ISO-8859-1"
LC_MEASUREMENT="en_US.ISO-8859-1"
LC_IDENTIFICATION="en_US.ISO-8859-1"
LC_ALL=

1
이것은 이미 여기에 대답했다 askubuntu.com/questions/162391/how-do-i-fix-my-locale-issue 요약 :은 / etc / 기본 / 로케일 LC_ALL을 정의
h7r

답변:


6

debootstrap로케일을 만들지 않습니다. 그래서 우리는 로케일로 다른 것을 사용합니다. 이 명령을 사용하십시오 :

sudo locale-gen en_US.ISO-8859-1

이게 도움이 되길 바란다!


아뇨, aptitude유효합니다. 귀하의 답변은 OP에 어떠한 변경도주지 않습니다.
Danatela

2
로케일 오류를 해결할 수는 있지만 latin1 인코딩 시스템을 제공하므로 우분투에는 적합하지 않습니다.
Gunnar Hjalmarsson

또한에서 ~/.kde.env/setlocale.sh사용자 설정export LANG=en_US.UTF-8
user1527227

11

Ubuntu 데스크탑은 UTF-8 인코딩으로 설정해야합니다. 어떤 이유로 시스템은 latin1 로케일 en_US.ISO-8859-1을 설정하려고합니다. 당신은 정말로 그것을 바꿔야합니다.

설정이에서 이루어질 수 있습니다 /etc/default/locale.

그것이 일어날 때마다

LANG=en_US.UTF-8

그렇지 않으면 다양한 로케일 관련 놀라움을 경험하게 될 것입니다.


그것이 사용하는 것이 확실합니까? 당신은 어떻게 알 수 있습니까?
user1527227 2016 년

@ user1527227 : 글쎄요. ;) AFAIK en_US.UTF-8는 모든 Ubuntu 데스크탑에서 미리 생성 되므로 제공됩니다. 그러나 locale -a명령 을 실행하여 쉽게 확인할 수 있습니다 . 질문을 편집하고 해당 명령의 출력을 추가하면 좋을 것입니다.
Gunnar Hjalmarsson

요청하신 정보를 추가했습니다.
user1527227

1
@ user1527227 : 좋습니다 . 출력 en_US.utf8에서 볼 수 있습니다 locale -a. 내 조언에서 변경 en_US.ISO-8859-1en_US.UTF-8의미합니다.
Gunnar Hjalmarsson

감사합니다. 정확히하는 방법을 알고 있습니까? 나는 보이지 않는다 /etc/default/locale. 그냥 뛸 수 sudo locale-gen en_US.utf8있을까?
user1527227

8

로케일 문제의 영구적 인 해결책은 .bash_profile파일 에서 로케일 변수를 내보내는 것 입니다. /etc/profile대신 파일 을 사용할 수도 있습니다 .bash_profile.

echo "export LANGUAGE=en_US.UTF-8
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8">>~/.bash_profile

잊지 마세요 과에 따라 스크립트를 쉽게 설정에서.source.bash_profile

로케일 문제를 해결 하는 스크립트 는 다음과 같습니다.


3

이것은 나를 위해 작동합니다.

  1. export LANGUAGE=en_US.UTF-8
  2. export LANG=en_US.UTF-8
  3. export LC_ALL=en_US.UTF-8
  4. sudo locale-gen en_US.UTF-8
  5. sudo dpkg-reconfigure locales


1

나를 위해 일한 것은 다음과 같습니다.

export LANGUAGE=en_US.UTF-8 export LANG=en_US.UTF-8 export LC_ALL=en_US.UTF-8 sudo locale-gen en_US.UTF-8 sudo dpkg-reconfigure locales

영구적 인 해결책을 위해

export LANGUAGE=en_US.UTF-8 export LANG=en_US.UTF-8 export LC_ALL=en_US.UTF-8

당신의 .zshrc또는.bashrc

심판

  1. https://jee-appy.blogspot.com/2016/02/set-locale-on-ubuntu-permanent-solution.html
  2. https://www.thomas-krenn.com/en/wiki/Perl_warning_Setting_locale_failed_in_Debian
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.