【发布时间】:2015-06-29 23:07:35
【问题描述】:
与 peewee 合作创建一个简单的 sqlite 数据库,该数据库存储来自已解析 MRSS 提要的项目,特别是视频 URL 和视频标题。
我编写了一个小重复数据删除脚本,用于检查刚刚解析的 URL 和视频标题是否已经在数据库中。我注意到当我将 URL 字符串传递给数据库时,没有问题,重复数据删除工作正常。当我使用sqlitebrowser 之类的应用程序浏览数据库中存储的URL 时,我看到没有Unicode 编码的URL,它们看起来像普通的旧字符串,没有u'。
但是,当我传递 unicode 视频标题时 - 像这样:(u'Animals doing the strangest things',) 重复数据删除脚本没有“看到”数据库中的视频标题。解决方案是对视频标题对象进行简单的转换,如下所示:videoName = str(videoName) — 但是,我不知道为什么现在这样。当我使用 sqlitebrowser 浏览数据库中的 videoName 列时,我看到了视频名称,但它们仍然是 Unicode 格式,看起来和以前一样:(u'Animals doing the strangest things',)
知道这里到底发生了什么吗?这与 PeeWee 如何处理字符串序列化的奇怪错误有关吗?
【问题讨论】:
标签: python string sqlite unicode encoding