2017-10-16 5 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() 

をI「は、同じ結果を試しました:

#!/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は()' * Pythonのソースコードをデコードする方法とは何の関係も*を持っていないこと。注意してください」ことがわかりますします(Martijn Pieters、2016)。 – Kanak

答えて

2

あなたは、として、UTF-8に設定することができます:スクリプトが実行時のエンコーディングを取得します

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

私はこの答えが好きです。なぜなら、頻繁に文書に載っていない機能について言及しているからです。 –

+0

'はAttributeError:モジュール 'SYS' をPythonの3.6には属性」setdefaultencoding''を持っていません –

関連する問題