2013-07-29 42 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。