2013-07-29 41 views
1

我有一個xml文件,其中有一些屬性是希伯來文內容。 我做的Python:在python xml元素中處理Unicode

parser = ET.XMLParser(encoding="utf-8") 
tree = ET.parse(fInput,parser) 
root = tree.getroot() 

,並從那裏我可以遍歷LEN(根)對象,並開始處理其與財產的.text。 然而,希伯來文,我得到,例如,

>>> elem[0].text 
u'\u05ea\u05d5\u05dd' 

我想這個XML轉換爲SQL插入功能,以將其插入到我的數據庫。 如何正確讀取這些屬性,以便在我的手中實際擁有希伯來字符串?

+0

Unicode字符05ea是[希伯來字母Tav](http://www.unicodemap.org/details/0x05EA/index.html),所以看起來是正確的。 –

+0

好吧,我想我發現我的問題。我沒有正確寫入文件。我可以簡單地使用s.encode('UTF-8')覆蓋從元素中提取的所有文本嗎? (它們是否是希伯來語文本) – buddy123

+0

指定文件的編碼,是的,您可以將所有文本寫入一個文件。但是,您可能必須注意方向問題(從右到左與從左到右的文本)。您用來查看文件的程序必須能夠處理此問題,否則您將得到奇怪的結果。 –

回答

1

Unicode字符05ea是Hebrew letter Tav或ת所以看起來像你正確閱讀UTF-8編碼的希伯來文本。完整的字符串是「תום」。您所要做的就是確保將您寫入的數據庫字段配置爲UTF-8或UTF-16。