[英]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.