2017-10-16 6 views
2

UTF-8 정보를 사용하는 Python 스크립트를 작성하려고하는데, SyntaxError: Non-ASCII character 메시지가 나타납니다. 나는 내 스크립트의 상단에 다음을 추가하여이 문제를 해결 할 수처럼Python이 UTF-8 코딩을 허용하지 않습니다.

그것은 같습니다

#!/usr/bin/python 
# coding: utf8 

하지만이 스크립트를 실행할 때 나는 ascii를 얻을 : 또한

#!/usr/bin/python 
# coding: utf8 
import sys 
print sys.getdefaultencoding() 

, 나 '를 동일한 결과를 시도했습니다 :

#!/usr/bin/python 
# -*- coding: utf-8 -*- 

내 스크립트가 UTF-8을 사용하지 않는 이유는 무엇입니까?

+2

, 코멘트는 소스 인코딩을 설명합니다. 오류 및 특정 오류를 생성하는 것 코드의 예를 게시한다, [mcve] – pvg

+1

정확히 무엇 * * 당신이하려고하는 보이지? "UTF-8 정보를 사용하는 Python 스크립트를 작성하려고합니다."매우 모호합니다. –

+1

당신은 https://stackoverflow.com/questions/38374489/get-encoding-specified-in-magic-line-shebang-from- ([(모듈 내에서) 마법 라인/오두막에 지정된 인코딩 얻을]를 참조 할 수 있습니다 "sys.getdefaultencoding()에는 파이썬 소스 코드가 어떻게 디코드되는지와 아무런 관련이 없습니다."). (Martijn Pieters, 2016). – Kanak

답변

2

당신은 UTF-8로 설정할 수 있습니다 : 스크립트가 실행 인코딩을 얻을 수

import sys 
reload(sys) 
sys.setdefaultencoding("utf8") 
+0

문서에서 자주 누락되는 기능을 언급하기 때문에 나는이 대답을 좋아한다. –

+0

'AttributeError : 'sys'모듈에는 Python 3.6에서 'setdefaultencoding'속성이 없습니다. –