내 Django 앱이 시작할 때 (또는 관리 명령을 실행할 때) 일부 파일을로드합니다. 내 아치 또는 우분투 시스템 중 하나에서 ssh를 사용하여 정상적으로 작동하면 명령 및 마이그레이션을 성공적으로 실행할 수 있습니다. 나는 OS의 X에서 ssh를 할 때OS X에서 ssh 때 UnicodeDecodeError
하지만 (나는 엘 자본이) 나는이 오류가 같은 일을하려고 :
UnicodeDecodeError: 'ASCII' codec can't decode byte 0xc3 in position 0: ordinal not in range(128)
오류가 때 발생하는 나는 with open(path_to_file) as f: ...
를 사용하여 내 파일을 열려면 iterm과 터미널 모두에서 sshing. 그 이유는 LC_CTYPE
환경 변수라는 것을 알게되었습니다. 내 다른 리눅스 컴퓨터에서는 설정되지 않았지만 맥에서 그것은 UTF-8
이었습니다. 그래서 서버에 ssh를 실행 한 후에도 똑같이 설정되었습니다. LC_CTYPE
설정을 해제하면 오류가 해결되었습니다.
실제 문제는 무엇이 발생 했는가와이를 더 이상 피하는 방법입니다. 내 로컬 컴퓨터에서이 변수의 설정을 해제 할 수 있지만 몇 가지 부정적인 영향이 있습니까? 그리고 이것을하는 가장 좋은 방법은 무엇입니까?
사실 나는 단지 봤습니다. 'UTF-8'은 유효한 LC_CTYPE이 아니므로'export LC_ALL = en_US.UTF-8' 및'LANG = en_US.UTF-8'을 내'.bash_profile'에 추가하고 문제를 해결했습니다. Btw 나는 우분투 16.04를 서버 머신으로 사용한다. 그리고 나는 파일 인코딩을 정의하기 위해 공개적으로 사용하는 LC_CTYPE을 알지 못했습니다. 실제로 이상합니다. 고마워. 나는 당신의 대답을 받아 들일 것입니다. – valignatev