Pycharm 에서 한글 사용할 때 encoding 문제가 발생합니다.
조회수 5878회
안녕하세요.
파이썬을 공부하고 있습니다.
버전은 3.6 버전을 사용하고
파이참은 2017.3.3 버전 을 사용합니다.
파일 오픈 연습을 하다가 엔코딩 에러가 발생하면서 오류를 냅니다.
f = open("test.txt", "w") f.write("한글 테스트")
f.close()
Traceback (most recent call last): File "/Volumes/Data/Source/Python/filetest/test.py", line 4, in f.write("한글 테스트") UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
위에 open시 encoding='utf-8' 을 명시적으로 넣으면 정상적으로 저장이 가능합니다. f = open('test.txt', 'w', encoding='utf-8')
그런데 파이참이 아닌 일반 콘솔창(os 터미널)에서
위와 똑같은 코드를 사용하면 저장이 정상적으로 됩니다.
$ python test.py (정상적으로 저장되고 파일에도 한글로 저장됨, python은 파이참에서 사용중인 파이썬과 동일한 버전 입니다.)
결과적으로 파이참의 설정문제 인 것 같은데요..
파이참 설정에서 File Encoding 설정 부분을 모두 utf-8로 설정해봐도
계속 위와 같은 오류가 발생하는데요..
전 명시적으로 open 때마다 encoding='utf-8' 을 설정하지 않아도
디폴트로 utf-8로 동작했으면 좋겠습니다..
다른 설정 방법이 있을까요??
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
우선 사용하는 OS가 무엇인지요? mac 아니면 linux 일거라 판단은 되는데...
정리하면 터미널에서는 utf8인데 pycharm 에서는 ascii 로 기본 인코딩으로 설정되는 것 같습니다.
터미널에서는 locale 을 수행해보고 pycharm python shell 에서 아래의 코드로 인코딩 확인해보시기 바랍니다.
import locale print(locale.getpreferredencoding())
제 생각에는 ascii 라고 나올 듯 싶습니다.
pycharm 에서 LC_CTYPE 값을 무시하는 것 같습니다.
제가 pycharm 을 사용안해서 잘 모르겠지만 pycharm 수행시 환경설정값을 명시적으로 넣는 방법이 있을 것 같습니다.
- 답변 감사합니다! 운영체재를 적지 않았군요.. MacOS High Sierra 10.13.3 입니다. 말씀하신대로 터미널에서 LC_CTYPE을 확인해보니 "ko_KR.UTF-8"로 되어 있습니다. 파이참에서 import해서 확인해보니 US-ASCII 로 나오네요! ㅠㅠ 설정 문제가 맞는 것 같습니다. 알 수 없는 사용자 2018.3.22 22:53
댓글 입력