[ 작업 환경 ]

Python 3.8

 

 

 

 [ 문제 상황 ]

UnicodeEncodeError: 'cp949' codec can't encode character '\xa0' in position 17678: illegal multibyte sequence

 

 

 

 [ 문제 원인 ]

write하려는 데이터와 write target 파일의 인코딩 형식이 맞지 않아 발생합니다.

 

 

 

 [ 해결 방법 ]

# 에러나는 소스
with open('test.txt', 'a') as f:
    f.write('test data line')

# 해결한 소스
with open('test.txt', 'a', -1, 'utf-8') as f:
    f.write('test data line')

버퍼 -1 옵션과 인코딩 'utf-8' 옵션을 추가해주면 에러 없이 정상진행됩니다.

 

 

 - 파일 상단에 아래 문구를 넣어주어도 해결되지 않으니 참고바랍니다.

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

파일 자체 내용을 utf-8로 읽게 해주는 것 뿐, 외부에서 가져온 텍스트까지 utf-8로 변환하여 활용하는 것이 아니기 때문입니다.

 

+ Recent posts