아래 글은 Google에서 검색하여 어느 분의 블로그에서 퍼 왔습니다.
파이썬 소스에 한글 문자열이 있으면 다음과 같은 "SyntaxError: Non-ASCII character..."라는 에러가 납니다:
File "D:\Z\0.py", line 4
SyntaxError: Non-ASCII character '\x8c' in file D:\Z\0.py on line 4, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
파이썬은 영문 인코딩이 기본이기에, 한글을 표현하기 위해서는 한글 인코딩을 지정해 주어야 합니다.
# -*- coding: 949 -*-
위와 같은 행을, 파이썬 소스의 반드시 "1번째 줄" 또는 "2번째 줄"에 위치시켜야 합니다. 3번째 줄부터는 안됩니다.
또한
coding:
이곳의 콜론(:)기호를
coding :
이렇게 띄어쓰면 안됩니다.
파이썬 소스 한글 인코딩 지정 예제
파일명: 0.py
#!/usr/bin/python
# -*- coding: 949 -*-
print "Hello World! 똠방각하"
# 이 줄은 주석문(코멘트; Comment)입니다.
# -*- coding: cp949 -*-
또는
# -*- coding: ms949 -*-
라고 해도 됩니다.
그러나
# -*- coding: euc-kr -*-
이라고 하면, "똠방각하"의 "똠"자 등이 표현되지 않습니다.
"똠"자를 처리하지 못하고 이런 에러가 납니다: SyntaxError: 'euc_kr' codec can't decode bytes in position 20-21: illegal multibyte sequence
즉 확장완성형이 아닌 그냥 완성형으로 지정됩니다.
파이썬 소스에 한글 문자열이 있으면 다음과 같은 "SyntaxError: Non-ASCII character..."라는 에러가 납니다:
File "D:\Z\0.py", line 4
SyntaxError: Non-ASCII character '\x8c' in file D:\Z\0.py on line 4, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
파이썬은 영문 인코딩이 기본이기에, 한글을 표현하기 위해서는 한글 인코딩을 지정해 주어야 합니다.
# -*- coding: 949 -*-
위와 같은 행을, 파이썬 소스의 반드시 "1번째 줄" 또는 "2번째 줄"에 위치시켜야 합니다. 3번째 줄부터는 안됩니다.
또한
coding:
이곳의 콜론(:)기호를
coding :
이렇게 띄어쓰면 안됩니다.
파이썬 소스 한글 인코딩 지정 예제
파일명: 0.py
#!/usr/bin/python
# -*- coding: 949 -*-
print "Hello World! 똠방각하"
# 이 줄은 주석문(코멘트; Comment)입니다.
# -*- coding: cp949 -*-
또는
# -*- coding: ms949 -*-
라고 해도 됩니다.
그러나
# -*- coding: euc-kr -*-
이라고 하면, "똠방각하"의 "똠"자 등이 표현되지 않습니다.
"똠"자를 처리하지 못하고 이런 에러가 납니다: SyntaxError: 'euc_kr' codec can't decode bytes in position 20-21: illegal multibyte sequence
즉 확장완성형이 아닌 그냥 완성형으로 지정됩니다.
댓글
댓글 쓰기