2014-07-10 126 views
1

因此,我讀到PLENTY的問題,並且他們中的每一個人都忘記了將# coding: <encoding>字符串放在開頭,或者類似的東西。Python中的編碼問題

我的問題是,按時間順序。

1)我忘了把編碼也與西里爾文字

2)我把它工作時:沒有工作

3)我把from __future__ import unicode_literals不是仍然作品。

4)我註釋掉了引起它的字符串。沒有工作。震驚。

5)我回滾(手動)到我的以前版本,完全刪除所有更改。不要工作。

所以,這是我的追蹤,並在1號線我只有import tweepy這顯然不具備任何Unicode文本(刪除家當找到問題的原因的過程)

Traceback (most recent call last): 
    File "E:\Coding\PyCharm 3.1\helpers\pydev\pydevd.py", line 1534, in <module> 
    debugger.run(setup['file'], None, None) 
    File "E:\Coding\PyCharm 3.1\helpers\pydev\pydevd.py", line 1145, in run 
    pydev_imports.execfile(file, globals, locals) #execute the script 
    File "C:/Users/tibur_000/PycharmProjects/Twelcome/TWelcome.py", line 1 
SyntaxError: Non-ASCII character '\xfe' in file 
C:/Users/tibur_000/PycharmProjects/Twelcome/TWelcome.py on line 1, 
but no encoding declared; see http://www.python.org/peps/pep-0263.html for details 
+0

您的源代碼在第一行中似乎包含'\ xfe'字節。這通常是由於文件開頭的['xfe \ xff'UTF-16 big-endian BOM字符](http://en.wikipedia.org/wiki/Byte_order_mark#Representations_of_byte_order_marks_by_encoding)。也許你把源代碼保存爲UTF16? –

+0

PyDev說這個文件的編碼是什麼?另請參閱http://www.jetbrains.com/pycharm/webhelp/configuring-individual-file-encoding.html#edit –

+0

@MartijnPieters好的,我沒有線索,爲什麼會發生,但它似乎PyCharm轉換它在一些確實如此。我在鏈接的幫助下將其轉換回來。多謝。 – wyde19

回答

1

它看起來像你的文件從BOM character開始;您可能以UTF編碼保存了該文件。

如果您的源代碼中沒有實際使用非ASCII文本,則可能需要切換回使用ASCII編碼的文件。否則,您必須指定PEP 263 codec declaration中使用的UTF編解碼器。

但是,如果它使用的是UTF-16或UTF-32,請選擇不同的編解碼器。 Python 2不支持編碼到這些編碼的源代碼。

在PyCharm中,您可以通過文件>文件編碼菜單選項或狀態欄更改用於單個文件的編碼。請參閱PyCharm help information