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