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

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)