我编写了这段代码来处理python的阿拉伯语
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 :(得分:1)
您可能需要使用支持unicode字符的终端。代码unicode("الشيخ","utf-8")
适用于osx。
尝试使用IDLE或其他IDE /终端。
答案 1 :(得分:0)
也许您的文本编辑器不是以UTF-8存储和显示文本,而是使用其他编码。请尝试使用Unicode文字:
if w == u"الشيخ":
如果仍然无效,您需要确定编辑器正在使用哪种编码,并将其替换为"utf-8"
。
答案 2 :(得分:0)
检查以下链接。我认为这对这种情况很有用。