본문 바로가기
Python

[파이썬3] 한글 교정

by 퍼포먼스마케팅코더 2017. 1. 17.
반응형

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을 해야 한다는 말이 없더군요. ^^^


반응형

댓글