2012-06-24 127 views
0

我收到具有值如XML飼料非UTF符號:UTF8編碼與MySQLdb的上

<Theme>Valentine&#39;s Day</Theme> 
<Copyright>&#169; Ventures. All Rights Reserved.</Copyright> 

我需要解析的值並將其存儲在一個MySQL數據庫。什麼是最好的方法來清理的價值,所以我可以插入"Valentie's Day""<copyright symbol> Ventures. All Rights Reserved."?這裏有大約20多種不同的標記。

做直INSERT,我會得到以下埃羅:

Warning: Incorrect string value: '\xA9 1987...' for column 'title' at row 1 

回答

2

如果使用真正的xml解析器解析XML,則會得到Unicode字符串作爲文本。然後,您可以使用UTF-8編碼它們:

title = text.encode('utf8') 

和標題將寫入到數據庫中,儘管許多細節還不清楚,因爲我們不知道你怎麼寫你的數據庫。

0

指定編碼,然後ECODE的字符串utf8

# -*- coding: utf-8 -*- 
title = text.encode('utf8') 
+1

文件編碼在這裏是不相關的,它隻影響如何解釋字符串文字。 –