【问题标题】:Dealing with Unicode in python xml elements在 python xml 元素中处理 Unicode
【发布时间】:2013-07-29 18:29:05
【问题描述】:

我有一个 xml 文件,其中包含一些属性的希伯来语内容。 我在 python 中做:

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

从那里我可以遍历 len(root) 对象,并开始使用 .text 属性处理它。 但是,对于希伯来语文本,例如,

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

我希望将此 xml 转换为 SQL 插入函数,以便将其插入到我的数据库中。 我怎样才能正确读取这些属性,以便真正掌握希伯来语字符串?

【问题讨论】:

  • Unicode 字符 05ea 是 Hebrew letter Tav,所以看起来是正确的。
  • 好的,我想我找到了我的问题。我没有将其正确写入文件。我可以简单地对从元素中提取的所有文本使用 s.encode('UTF-8') 吗? (不管是不是希伯来文)
  • 您指定文件的编码,是的,您可以将所有文本写入一个文件。但是,您可能必须注意方向问题(从右到左与从左到右的文本)。你用来查看文件的程序必须能够处理这个问题,否则你会得到奇怪的结果。

标签: sql xml xml-parsing hebrew


【解决方案1】:

Unicode 字符 05ea 是 Hebrew letter Tav,或 ת,因此看起来您正在正确阅读 UTF-8 编码的希伯来语文本。完整的字符串是 "תום"。您所要做的就是确保您写入的数据库字段配置为 UTF-8 或 UTF-16。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-26
    • 2021-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多