티스토리 뷰

VS 에서도 기본 인코딩이 있듯이 파이썬에서도 기본 인코딩이 있다.
내부에서 사용하는 문자열들이 어떤 형태로 처리될 것인가를 말하는 것인데...
이게 좀 골치를 아프게 한다.

나는 Python을 통해서 SMTP 메시지를 보내고 싶었는데
이것에 한글만 입력하면 바로 에러 메시지 ;;;

UnicodeEncodeError:
'ascii' codec can't encode characters in position 0-47: ordinal not in range(128)

대애충 보면, ascii 의 범위(0-128)를 넘어서는 문자열을 처리할 수 없다는 말이다.
"내부에서는 당연히 ascii 를 기본으로 해서 처리를 하겠지"

당연히 바꾸고 싶다.
검색을 했다.
다 똑같다;;;;

소스의 첫머리에

#! -*- coding: utf-8 -*-

이런 식으로 지정을 하라는 말이다.

했그등?;;

당연히 유니코드가 되는 환경의 사람이 당연한 듯이 적은 글들 같다.

'코드를 통해 강제적으로 바꿀 수는 없을까' 하고 생각한 끝에 
한 사람이 그 방법을 적어놓았더라.

sys 모듈에 있는 setdefaultencoding() 를 이용하는 것 !!

그러나, sys 모듈은 import 를 한다고 해서 모든 API 를 이용할 수는 없다고 한다.
이를 이용하기 위해서는 sys 를 재로드 해줘야 하는데

import sys
reload(sys)
sys.setdefaultencoding('utf-8')

이런 방식으로 하면 된단다.

나와 비슷한 문제로 고민하고 있던 분덜 ㅋ
잘 해결되시길... !!



p.s. 티스토리 못난 것들... 테터툴스 거저 갖다 쓰니까. 물어봐도 아는게 없지 ;;;
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함