2012-08-29 155 views
0

我有一個html文件中下面的文字:「UTF-8」編解碼器不能在位置0解碼字節0xd0:無效延續字節

<a href="#">�'ам интересна информация</a> 

,我使用下面的表達式提取文本:

row.xpath("string(./td[@class='col2 td-tags']/h3/a/text())") 

這個表達式工作正常進行簡單的英語,但對於上面的字符串,它拋出這個錯誤:

'utf8' codec can't decode byte 0xd0 in position 0: invalid continuation byte 

回答

6

在HTML中,& #xxx沒有在文檔編碼中指定一個字節;它始終是一個unicode代碼點。

因此,您不能將UTF-8放入HTML中。

+0

我已經更新了html代碼,請看看它 – wasimbhalli

2

該文檔的編碼是什麼?什麼字符開始在<a>文本?這可能是一個無效的UTF-8。

1

我首先解碼的頁面內容(其中包括字符串<a href="#">�'ам интересна информация</a>)以取代任何不可轉換的字符串問號,它的工作!

page_contents_string = page_contents_string.decode("utf-8", "replace")

相關問題