【Python】 atom의 UnicodeEncodeError, UnicodeDecodeError 방지
목차
문제
문제
atom의 "script"패키지 등을 사용하여 python을 실행하면 UnicodeError
가 발생합니다.
1. UnicodeEncodeError
unicode 형 → str 형 변환시에 발생하는 에러
print('こんにちは')
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2: ordinal not in range(128)
2. UnicodeDecodeError
「str형」→「unicode형」변환시에 발생하는 에러
hello.txtこんにちは
with open('hello.txt') as f:
f.read()
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe3 in position 0: ordinal not in range(128)
해결책
atom의 로케일 설정을 ja_JP.UTF-8
에 통일해 봅시다.
init.coffee(메뉴바 「Atom」 > 「Init Script.../기동 스크립트...」)에 다음을 추기해 재기동
init.coffeeprocess.env.LANG = "ja_JP.UTF-8";
그건 그렇고
「script」패키지의 로케일 설정만 ja_JP.UTF-8
로 하는 경우는,
메뉴 바 「패키지」 > 「Script」 > 「Configure Script」로 이하와 같이 설정해 실행하면 OK입니다.
또, 기동 스크립트에 이하와 같이 기입하는 대처법을 자주 볼 수 있습니다만, 이 방법이라면 문제 2를 해결할 수 없었습니다.
init.coffeeprocess.env.PYTHONIOENCODING = "utf-8";
참고
Reference
이 문제에 관하여(【Python】 atom의 UnicodeEncodeError, UnicodeDecodeError 방지), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/derodero24/items/0853e5ab0332cec09435
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
print('こんにちは')
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2: ordinal not in range(128)
こんにちは
with open('hello.txt') as f:
f.read()
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe3 in position 0: ordinal not in range(128)
atom의 로케일 설정을
ja_JP.UTF-8
에 통일해 봅시다.init.coffee(메뉴바 「Atom」 > 「Init Script.../기동 스크립트...」)에 다음을 추기해 재기동
init.coffee
process.env.LANG = "ja_JP.UTF-8";
그건 그렇고
「script」패키지의 로케일 설정만 ja_JP.UTF-8
로 하는 경우는,
메뉴 바 「패키지」 > 「Script」 > 「Configure Script」로 이하와 같이 설정해 실행하면 OK입니다.
또, 기동 스크립트에 이하와 같이 기입하는 대처법을 자주 볼 수 있습니다만, 이 방법이라면 문제 2를 해결할 수 없었습니다.
init.coffeeprocess.env.PYTHONIOENCODING = "utf-8";
참고
Reference
이 문제에 관하여(【Python】 atom의 UnicodeEncodeError, UnicodeDecodeError 방지), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/derodero24/items/0853e5ab0332cec09435
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
process.env.PYTHONIOENCODING = "utf-8";
Reference
이 문제에 관하여(【Python】 atom의 UnicodeEncodeError, UnicodeDecodeError 방지), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/derodero24/items/0853e5ab0332cec09435텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)