본문 바로가기
프로그램 에러

UnicodeDecodeError: 'cp949' codec can't decode byte 0x in position: illegal multibyte sequence

by 젤리아드 2024. 5. 8.
반응형

File "example.py", line 1059, in read_text
 return f.read()
UnicodeDecodeError: 'cp949' codec can't decode byte 0xe2 in position 1970: illegal multibyte sequence
에러 메시지

UnicodeDecodeError: 'cp949' codec can't decode byte 0xe2 in position 1970: illegal multibyte sequence

 

이 에러는 아주 간단하게 해결할 수 있습니다.

File ("example.py"), (line 1059), in read_text
 ( return f.read() )
UnicodeDecodeError: 'cp949' codec can't decode byte 0xe2 in position 1970: illegal multibyte sequence
힌트

에러 메시지 위쪽을 보면 에러가 발생한 파일 이름을 알 수 있습니다.

위 예시에서는 example.py 파일입니다. 그리고 파일 이름 우측에 에러가 발생한 줄번호가 나옵니다.(예시에서는 1059)

이는 example.py 파일의 1059줄에 있는 "return f.read()"라는 코드에서 에러가 발생했다는 뜻입니다.

텍스트 편집기로 example.py 파일을 열고 1059줄로 이동합니다.(메모장을 사용하는 경우 Ctrl+G키를 누르고 줄번호를 입력하면 해당 줄로 이동됩니다)

1058: with self.open(mode='r', encoding='utf-8', errors=errors) as f:
1059: return f.read()
에러 해결

해당 줄로 이동하면 에러가 발생한 코드가 나옵니다.( return f.read() )

바로 윗줄 open 괄호 안에서 "encoding=" 이라는 코드가 있는지 찾아봅니다.

만약 encoding= 코드가 없으면 위 예시처럼 encoding='utf-8' 을 추가합니다.

encoding= 코드가 있는 경우라면 원래 있던 값을 지우고 'utf-8'로 변경합니다. 

예시: encoding=encoding encoding='utf-8'

 

마지막으로 수정된 example.py 파일을 저장하면 됩니다.

728x90

댓글