繁体   English   中英

使用lxml用日语解析xml

[英]Using lxml to parse xml with Japanese

我有以下xml文档:

<package>
    <title>セレニティー (字幕版)</title> 
    ... 
</package>

我正在使用lxml来解析标题,如下所示:

node = etree.fromstring(file_contents)
title = node.xpath("//t:title/text()")
title
[u' \u30bb\u30ec\u30cb\u30c6\u30a3\u30fc (\u5b57\u5e55\u7248)']

但是,当我使用title.encode(utf-8) INSERT到数据库中时,出现乱码:

セレニティー (å—幕版)

我将如何在此处正确解析title (セレニティー(字幕版)),以便可以对值进行INSERT

确保将MySQL实例设置为也将Unicode存储为UTF-8。

实际上,这对我来说是lxml本身的问题,他们认为每个人默认都会使用ASCII / Latin-1,这是愚蠢的。 即使尝试在UTF-8中运行解析器也可能会向您返回错误,请尝试按以下方式调用解析器:

解析器= etree.HTMLParser(encoding ='shift-jis')

据我所知,Shift-JIS仍然是日语页面中最常见的字符集。 我的Python / lxml模块http://github.com/caio1982/Amazon-Wishlist使用上述方法处理日语页面。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM