반응형
Python2를 주로 사용하다가 Python3을 사용해 보았는데 한글코드 문제로 하루를 날렸네요. ^^^
문제가 된 것은 mbcs/cp949로 코딩된 파일에서는 깨지는 한자가 있는 경우입니다.
예를 들면, 이 글자 "豐". utf-8이나 유니코드에서만 제대로 보임.
저 글자가 있는 라인을 파일에 쓸때마다 계속 아래와 같은 에러 메시지가 발생하더군요.
UnicodeEncodeError: 'cp949' codec can't encode character '\u8c50' in position 15: illegal multibyte sequence
해결 방법은 의외로 간단했습니다.
프로그램 파일은 어떤 코딩을 이용해도 상관없으나 입출력은 utf-8로 저장되어 있어야 겠지요.
fin1 = open(file1, encoding='utf8')
fout = open(outfile1,'w', encoding='utf8')
for line in fin1:
print('utf-8=',line, file=fout)
위 처럼 출력 파일에 encoding만 선언해 주면 해결되는 문제인데
어느 책자에도 출력 파일을 열때 encoding을 해야 한다는 말이 없더군요. ^^^
[출처] Python3에서 utf-8 파일 읽고 쓰기|작성자 큰물길
반응형
'Python' 카테고리의 다른 글
[네이버] 추천검색어 크롤링3 (0) | 2017.01.18 |
---|---|
[네이버] 섹션 크롤링3 (0) | 2017.01.18 |
[네이버] 옥션 검색어를 통한 추천검색어 크롤링(모바일) (0) | 2017.01.17 |
[파이썬3] python txt파일 읽기 에러 'cp949' (0) | 2017.01.17 |
[네이버] 검색어를 통한 섹션 크롤링2 (0) | 2017.01.17 |
댓글