SyntaxError: Non-ASCII character '\xe3' ..... but no encoding declared

今天在StackOverFlow 上面問了這一個問題
http://stackoverflow.com/q/28898561/1686094
關於一個 demo 編碼問題的小程式

# -*- encoding : utf-8 -*-
episode_title = "ザ・ロック(日本語吹替版)".decode('utf-8')
print episode_title.encode('utf-8')

我問:為什麼這個腳本可以在 PyCharm, IPython notebook, IPython Qtconsole 成功運行,但是無法在 Windows 底下的 命令提示字元、以及 Ubuntu 的 terminal 運行??

這個問題我從一開始接觸 python 就遇到了,不過今天才知道答案。經過神人秒回,我終於知道:

原來是第一行
# -*- encoding : utf-8 -*-

的 encoding 後面多了一個空白,把空白去掉
# -*- encoding: utf-8 -*-

就好了.......

其實它錯誤訊息有說明我沒有宣告 encoding 了 (我自以為有宣告,只是不合格式,所以python 就不知道我有宣告了)


留言

這個網誌中的熱門文章

Anki 教學 - 基礎知識

Anki 教學 - 學習卡片

Anki 教學 - 牌組選項之新卡片