2012-02-14 17 views
0

基本的に私がやっていることは、Python(2.7)で"✔" == "✔"を比較することです。しかし、私はこのエラー、SyntaxError: Non-ASCII character '\xe2'を受け取り続けます。私は、Pythonのドキュメントを読みますが、全体のUnicodeは、エンコード、デコードの事は、私がチェックです\u2714に対する✔、どうあるべきかを比較することによって、問題を修正しましたはUnicode文字列を比較していますか?

..

EDIT私をたくさん混乱さ文字コードをマークします(私はあなたがそれを何と呼ぶのだろうと思います)。私の側で

+6

あなたが 'をしたいが、uは「✔」== uは「✔」は' – beerbajay

+0

が、実際には最初の1でありますWebページからBeautifulSoupで取り消して、それが✔かどうかをチェックしていますか? –

+2

@DrHydralisk:(a)あなたの質問を更新する(b)あなたのシナリオはあなたの質問とはかなり異なっています。多分、これまでの答えは、あなたがどのように理解するのを助けるかもしれません。 – Marcin

答えて

0

作品:あなたが使用するファイルを文字セットどのような指定していない

[[email protected]]$ python 
Python 2.7 (r27:82500, Sep 16 2010, 18:02:00) 
[GCC 4.5.1 20100907 (Red Hat 4.5.1-3)] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> "✔" == "✔" 
True 
>>> u"✔" == u"✔" 
True 
>>> 
+0

これは、インタープリタがファイルからの読み込みと同じではないためです – Marcin

6

ので、PythonのASCIIへのデフォルトと、すぐにそれがUnicode文字に遭遇するとSyntaxErrorで失敗します。ファイルの先頭にこれを追加すると、これを修正する必要があります

# coding:utf-8 
ここ

さらに詳しい情報:私は疑うhttp://www.python.org/dev/peps/pep-0263/