Language/Python

[Python3] UTF-8 파일 불러올때 오류가 발생할 때

out of coding 2018. 1. 11. 23:31

Python3로 개발을 하던중에, 다음과 같은 오류가 발생하여서 찾아 보았습니다.


UnicodeDecodeError: 'cp949' codec can't decode bytes in position : illegal multibyte sequence


원인은 Python3 에서는 ANSI 기준으로 작성된 파일을 기본으로 읽어오는데요.

그래서 UTF-8 파일은 그냥 읽으려고 하면 위의 에러가 발생하게 됩니다.


해결하는 방법은 다음과 같을 것 같습니다.


1. 옵션으로 UTF-8을 붙여줍니다.


file = open('file.txt', 'r', 'UTF-8')


2. 파일의 인코딩을 ANSI로 변경합니다.


텍스트 편집기에서 저장하는 옵션에 이런 부분이 있는데 이렇게 하면 되는데 파일은 ANSI로 저장하지 않는게 좋을것 같습니다.