GoogleAppEngine用のPythonスクリプトのエンコーディング記述でハマる

GoogleAppEngine用のPythonスクリプトのエンコーディング記述でハマる


 スクリプト内で日本語を使うには、ファイルの先頭部分に以下のように書けばOK。

 


#

# -*- coding: utf-8 -*-


 私はほんの少し間違えてこう書いた。

 


#

# -*- coding : utf-8 -*-


 違いは、「coding」の後ろにスペースが入っていること。ローカル環境で試したときは下の書き方でもエラーは出なかったが、GoogleAppEngineで試したらエラーになった。二日悩んだ。


 また、上のように書いてもプログラム中で日本語を扱う場合には適切にエンコードなどの処理を行わないと文字化けする。上の記述はあくまで、「スクリプト内にあやしい文字が入ってますよ!エラー!」と言われないためのおまじないなのだ。