본문 바로가기
프로그래밍/Python

UnicodeDecodeError: 'ascii' codec can't decode byte 0xec in position 0: ordinal not in range(128) 오류

by LiveData 2018. 12. 1.
반응형

파이썬 참 utf-8 오류가 특히 많이 나네요...



UnicodeDecodeError: 'ascii' codec can't decode byte 0xec in position 0: ordinal not in range(128)


전 이 오류가 난 이유는 파이썬 2.7 버전에서

파일을 여는 open 함수를 사용할 때 났습니다.

파이썬 3.6 버전 부터는


   open("오픈할 file 명", 'r', -1,"utf-8")




이런식으로 명시하셔야 합니다.


2.7에서는 그냥 open("오픈할 file명",'r') 끝!

2.7은 3.6 처럼 하면 오류가 발생합니다. 즉 ascII 밖에 인식이 안되서 그런것 같더군요





해결법



1. 세팅을 utf-8로 바꾸기.



 파이썬 설치 경로 / Lib / site-packages 에 sitecustomize.py 파일을 만들어줍니다.

참고로 저는 이 경로였습니다. C:\Python27\Lib\site-packages




sitecustomize.py

 import sys

 sys.setdefaultencoding("utf-8")

 

를 입력해줍니다. 기본 세틍을 utf-8 로 바꾸는 겁니다.

(주의 : 컴파일 하면 오류나는데, 그냥 파일만 만들면 적용되는 것입니다.)




마지막으로 정상적으로 세팅 되었는지 확인 하려면 아래와 같이 해주세요

 

utf-8 로 잘 작동되네요 ㅎ







반응형