OS X Lion에서 LANG가 UTF-8로 설정되지 않았습니다. 어떻게 수정합니까?


148

OS X Lion에서 postgress를 설정하려고 시도했는데 LOCALE 환경 변수가 올바르게 설정되지 않았습니다.

이것이 설정됩니다 :

LANG=
LC_COLLATE="C"
LC_CTYPE="C"
LC_MESSAGES="C"
LC_MONETARY="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_ALL=

UTF-8로 무언가를 기대합니다. 스페인어로 된 깨끗한 OS X Lion 설정입니다. 나는 아무것도 움직이지 않습니다.

UTF-8로 설정하는 방법을 모르겠습니다.

터미널 설정에서 UTF-8을 확인하고 작동하지 않지만 LOCALE을 열린 상태로 설정하십시오.


2
이상하다. 기본 쉘 (bash)과 기본 터미널 설정 프로파일 (기본)을 사용한다고 가정하면 기본적으로 터미널에서 작동합니다. 인코딩을 변경하거나 "로케일 환경 변수 설정"을 변경하면 이미 열려있는 터미널이 아닌 새 터미널에만 적용됩니다.
Chris 페이지

나는 zsh (오 내 zsh! 설치 프로그램 사용)를 사용합니다.
mamcx

혹시. 사용자 정의 구성없이 zsh를 실행하여 문제가 해결되는지 확인하십시오. 쉘> 새 명령 을 사용 하여 문제점 을 실행 zsh --no-rcs하고 zsh --no-rcs --no-global-rcs범위를 좁히십시오. 또한 새 명령을locale 통해 셸없이 명령을 실행하여 보고 내용을 확인하십시오.
Chris 페이지

@ChrisPage 나는 터미널에서 활성화 된 설정으로 OP와 정확히 동일한 출력을 얻었습니다. set locale environment variables올바른 환경을 표시 하려면 스위치를 끄고 터미널을 다시 시작한 다음 다시 켜야했습니다.
Chris

Ask Different에 대한이 질문에 대한 완전한 답변이 있습니다.
starfry

답변:


311

OSX Lion 머신에서 Red Hat을 실행하는 서버에 로그온 할 때 동일한 문제가 발생했습니다.

~/.profile새 세션을 시작할 때 로케일 설정을 올바르게 내보내려면 파일을 추가하거나 편집하십시오 .

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

파일에 추가 된이 두 줄은 로케일을 설정하기에 충분해야합니다 [ en_US원하는 로케일을 교체 하고 시스템에 실제로 설치되어 있는지 미리 확인하십시오 ( locale -a)].

그런 다음 새 세션을 시작하고 locale다음을 사용하여 확인할 수 있습니다 .

$ locale

다음이 출력되어야합니다.

LANG="en_US.UTF-8"  
LC_COLLATE="en_US.UTF-8"  
LC_CTYPE="en_US.UTF-8"  
LC_MESSAGES="en_US.UTF-8"  
LC_MONETARY="en_US.UTF-8"  
LC_NUMERIC="en_US.UTF-8"  
LC_TIME="en_US.UTF-8"  
LC_ALL="en_US.UTF-8"  

2
또한 원래 iTerm2를 사용하는 동안 문제를 발견했습니다. 이 해결 방법은 iTerm2와 터미널 모두에서 작동하는 것 같습니다.
wormintrude

1
한 시간 동안이 문제에 대한 해결책을 찾고이 사람을 게시 해 주셔서 감사합니다. 터미널과 iTerm2에서 모두 작동하는지 확인할 수 있습니다.
Mariano Cavallo

7
링크가 유효하지 않습니다.
Vincent는

11
나는이 .bash_profile내 홈 폴더와 .profile때 공급되지 않는 한 .bash_profile존재. 나는 수동으로 소스에 필요한 .profile내부.bash_profile
BrunoJCM

3
놀랍습니다. zsh를 사용하고 나면 바보처럼 행동하지 마십시오 ... 설정이 ~/.zshrc이제는 매력처럼 작동합니다
Redrick

20

최근 bash 쉘을 사용하여 OS X Sierra에서 동일한 문제가 발생했으며 위의 답변 덕분에 파일을 편집해야했습니다.

~/.bash_profile 

그 줄을 추가

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

1
정말 도움이됩니다. 나는 bash_profile그것을 가지고 있지 않고 수동으로 만들었습니다. 넣어없이 그리고 exportbash_profile, 때마다 우리는 언어가 롤백합니다 터미널 재설정합니다.
판 반 린

7

이것은 오랫동안 헤드 브레이커입니다. 이제 OSX입니다. 시스템 전체에서 변경되어 완벽하게 작동합니다.

이것을 추가하면 Centos6 및 Fedora의 LANG가 선호되는 LANG입니다. 터미널 설정 (OSX) / etc / profile에서 내보내기를 "선택 취소"하거나 로캘을 설정할 수도 있습니다.

LC_ALL = en_US.UTF-8
내보내기 LANG = en_US.UTF-8 내보내기


5

당신이있는 경우 zsh을은 당신이 또한 업데이트 할 수 있습니다 설치 ~/.zprofile와 함께

if [[ -z "$LC_ALL" ]]; then
  export LC_ALL='en_US.UTF-8'
fi

locale위와 같이 cmd를 사용하여 출력을 확인하십시오.

❯ locale                                                                                                                                           
LANG="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_CTYPE="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_ALL="en_US.UTF-8"

0

MacOS High Sierria 에서이 문제가 발생했습니다.

스크린 샷 1

아래 명령을 사용하여 로케일언어UTF-8 형식 으로 설정할 수 있습니다 .

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

스크린 샷 2

이제 로케일 환경이 업데이트되었는지 확인하려면 아래 명령을 사용하십시오.

Locale

스크린 샷 3


1
이 답변은 허용되는 답변과 어떻게 다릅니 까?
Denis V

2
첫 번째 사진의 목적은 무엇입니까? 마지막 것과 같지 않습니까?
narengi
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.