2012-06-24 87 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

文件编码在这里是不相关的,它只影响如何解释字符串文字。 –