Python에서 한글로 된 주석 및 코드를 사용하기 위해서는 소스 앞부분에 다음과 같이 인코딩 방식을 지정하여야 한다.


1. 완성형

# -*- coding: euckr -*-


2. 확장 완성형 (윈도우)

# -*- coding: cp949 -*-


3. UTF-8

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


일단, 여기까지만 하면 위 세가지 인코딩 방식에 대해서 한글로 된 주석을 사용할 수 있다.


주석이 아닌 실제 문자열 변수에 한글 문자열 상수를 대입하는 것과 같이 소스 코드 내에서 사용하는 경우, ANSI 계열(완성형, 확장완성형)에서는 위와 같이 지정만해도 문제없이 사용이 가능하다.


하지만 UTF-8의 경우, 이와 같은 지정만으로는 제대로 되지 않는데, 파이썬이 기본적으로 문자열 상수를 ANSI로 받아들이려 하기 때문이다.

이런 문제를 해결하는 방법 중 한가지는 문자열 상수 사용시에 u를 따옴표 앞에 붙이는 것이다.

str = "한글 포함 상수"

대신에

str = u"한글 포함 상수"

를 사용한다


이 방법은 ANSI 계열에 사용했을 때도 역시 정상 동작한다.


<테스트 환경>
OS : Windows 7
Python 버전 : 2.7


,