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

UnicodeEncodeError: 'cp949' codec can't encode character '©' in position 31: illegal multibyte sequence 오류

by LiveData 2018. 12. 1.
반응형

파이썬의 정말정말 정말 많이 나는 오류


 

이번에는 오류가 이렇게 떳네요



 

UnicodeEncodeError: 'cp949' codec can't encode character '\xa9' in position 31: illegal multibyte sequence




구글링을 해보니



파일의 읽기 쓰기 오류







해결법!





1. UTF-8 붙여주기


python3부터 UTF-8로 된 파일은 오류가 납니다.


open의 기본형


open(name[, mode[, buffering]])


open(...) open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True) -> file object

원래 제가 썻던 코드는


open(file_name, 'w') 로 썻는데 오류가 떳었습니다.



   open(file_name, 'w', -1, "utf-8"

 





 수정 후 오류가 사라지고 정상 실행되었습니다.


"-1" 은 버퍼






2. 파일의 인코딩을 ANSI로 바꾸기.


 해당 파일을 메모장으로 열었을 경우 [다른이름으로 저장] 에서 ANSI로 바꿀수 있습니다.



또는


    # -*- encoding: utf-8 -*-

 






맨위에다가 붙여주면 파일 전체가 utf-8로 읽는다고 하네요




반응형