使用整数和字符串将unicode列表编码为UTF-8 /比较两个字符串

时间:2015-06-16 06:28:36

标签: python mysql unicode encoding utf-8

我必须使用Python和Beautifulsoup从用餐网页上获取膳食数据。 我将单独的膳食存储在一个表中,并将数据组合在第二个菜单表(menuID,mealID,时间等)中。 为了防止餐桌上的重复,我将所有餐点与(分配的)ID一起放在一个列表中,并根据此列表从网页上运行餐饮名称。

MySQL的unicode列表如下所示: [(410,u'Oatmeal'),(411,u'White Rice'),(412,u'Sliced Potatoes with Onions'),(413,u'Orange French Toast'),(414,u'Saut \ xe9ed Mushrooms')]

我的问题:来自网页的数据来自utf-8字符串,结果是它将“SautéedMumrooms”与“Saut \ xe9ed Mushrooms”进行比较,因此将它添加到数据库中,因为它们不同。

整个字符集对我来说很新鲜,我花了几个小时来弄清楚如何将列表转换为UTF-8或将网页字符串转换为unicode以便比较运行。

任何人都知道我该怎么办?

谢谢!

1 个答案:

答案 0 :(得分:0)

在将数据与MySQL值进行比较之前,您需要对数据进行解码:

假设您从网页上获得“炒蘑菇”,您需要比较:

str = "Sautéed Mushrooms"
if str.decode('utf-8','ignore') == 'values from list':
    #your code