ソースコードのエンコーディングの指定
UTF-8 を指定するには?
ソースコードをどのようなエンコーディング方式で記述するか指定しないと、正しくソースコードを解釈できない場合があります。 例えば、Python 2.7 の環境で次のようなソースコードを書いて、UTF-8 で保存してから、実行してみましょう。
print 'こんにちは' # Python 2.7
実行結果は次のようになりました。
> C:\Python27\python test-enc.py File "test-enc.py", line 1 SyntaxError: Non-ASCII character '\xe3' in file test-enc.py on line 1, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
このエラーメッセージは、エンコーディング認識の違いによって python がソースコードを正しく解釈できなかったことを示しています。 Python に UTF-8 として正しく認識させるためには、次のような一行をソースコードの1行目か2行目に記述します。
# coding: utf-8
または次の行を記述します。
# -*- coding: utf-8 -*-
Python のバージョンによる違い
Python 3.x (Py3k) ではデフォルトで、UTF-8 エンコーディングとしてソースファイルを認識します。 このため、UTF-8 のエンコーディングに関してはとくに上述の設定を行うことなく、正常実行可能です。