2013-10-24 62 views
1

我寫了這個代碼由蟒蛇阿拉伯語 - 的UnicodeDecodeError在Python 2.7

import codecs 
file = codecs.open("C:\Python27\CCA_raw_utf8.txt","r","utf-8") 
text= file.read() 
#################################### 

print "\n "," --------------------------------------------" 

text=text[1:] 
words=text.split() 

for w in words: 
    if w == unicode ("الشيخ","utf-8"): 
    print w 

處理阿拉伯語,但它不工作,並引發錯誤:爲什麼

if w == unicode ("الشيخ","utf-8"): 
UnicodeDecodeError: 'utf8' codec can't decode byte 0xc7 in position 0: invalid continuation byte " 

我程序給出了這個結果,我們如何解決這個問題?

+0

好奇的是,在我的IDE中,它表示'輸入中不支持的字符'。 – aIKid

回答

0

也許你的文本編輯器不是以UTF-8存儲和顯示文本,而是使用另一種編碼。嘗試使用Unicode的文字來代替:

if w == u"الشيخ": 

如果仍然不工作,你就需要找出哪些編碼編輯器使用,並把到位的"utf-8"

+0

我怎麼能知道我的編輯器的編碼,請撥打 – user2913962

+0

@ user2913962你只需要知道。你使用的是什麼操作系統和編輯器?如果是Windows,安裝了哪種語言版本? –

+0

是的,我在這種情況下使用Windows7 – user2913962

1

您可能需要使用支持Unicode字符的終端。代碼unicode("الشيخ","utf-8")在osx中​​工作。

嘗試使用IDLE或其他IDE /終端。

+0

似乎是對我的邏輯解釋。謝謝! – aIKid

+0

我建議使用Console2,它絕對棒極了外國字符(我經常使用它) – yuvi