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그것을 가지고 있지 않고 수동으로 만들었습니다. 넣어없이 그리고 export에 bash_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.