簡體   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