python에서 소스에 한글이 들어가면?

아래와 같이 코딩한 다음 python을 실행시키면 다음과 같은 오류가 발생한다.

#!/usr/bin/python

print "한글입력하면 실패한다."
sys:1: DeprecationWarning: Non-ASCII character '\xed' in file ./testCodingCharacter.py on line 3, but no encoding declared; 
see http://www.python.org/peps/pep-0263.html for details

한글입력하면 실패한다. 이유는 python은 기본적으로 소스가 ascii로 작성되었음을 가정하고 컴파일을 수행한다. 그런데 한글이 들어가 있으니 인식을 못하는 거다.

이를 해결하려면 다음과 같이 설정해주면된다.

#!/usr/bin/python
# coding=cp949

print "한글입력하면 실패한다."

또는

#!/usr/bin/python
# vim: set fileencoding=cp949

print "한글입력하면 실패한다."

또는

#!/usr/bin/python
# -*- coding: cp949 -*-

print "한글입력하면 실패한다."

아래 url을 참조하면 더 자세한 정보를 얻을 수 있다. http://www.python.org/dev/peps/pep-0263/

그런데 아래와 같이 작업하니까 segmentation fault가 발생하더라

#!/usr/bin/env python
# coding=cp949

print "한글입력하면 실패한다."


#!/usr/bin/env python
# vim: set fileencoding=cp949

print "한글입력하면 실패한다."


#!/usr/bin/env python
# -*- coding: cp949 -*-

print "한글입력하면 실패한다."

단지 /usr/bin/python을 /usr/bin/env python으로만 바꾸었을 뿐인데.. 하지만 또 아래와 같이 설정하면 잘 된다. /usr/bin/env python 과 cp949가 어떤 연관이 있는 지는 잘 모르겠지만.. 어쨌든 내 시스템에서는 에러가 났다...ㅎㅎ

#!/usr/bin/env python
# -*- coding: utf8 -*-

print "한글입력하면 실패한다."


#!/usr/bin/env python
# coding=utf8

print "한글입력하면 실패한다."


#!/usr/bin/env python
# vim: set fileencoding=utf8

print "한글입력하면 실패한다."

그래서 난 이렇게 쓰기로 했다.

#!/usr/bin/env python
# coding=utf8

print "한글입력하면 실패한다."
s

results matching ""

    No results matching ""