使用peewee創建一個簡單的sqlite數據庫,該數據庫存儲瞭解析的MRSS源的項目,特別是視頻URL和視頻標題。使用PeeWee將Unicode字符串存儲到SQLite數據庫
我寫了一個重複數據刪除腳本,用於檢查剛分析過的URL和視頻標題是否已經存在於數據庫中。我注意到,當我將URL字符串傳遞到數據庫時,沒有問題,重複數據刪除工作正常。當我通過數據庫瀏覽我存儲在那裏的URL時,使用像sqlitebrowser這樣的應用,我看到沒有Unicode編碼的URL,它們看起來像普通的舊字符串,不是u'
。
但是,當我傳遞unicode視頻標題時 - 例如:(u'Animals doing the strangest things',)
,重複數據刪除腳本並未「看見」數據庫中的視頻標題。解決方案是像這樣做一個簡單的視頻標題對象轉換:videoName = str(videoName)
- 但是,我不知道爲什麼現在可以工作。當我使用sqlitebrowser瀏覽我的數據庫中的videoName列時,我看到了視頻名稱,但它們仍然是Unicode格式,看起來與之前一樣:(u'Animals doing the strangest things',)
任何想法這裏發生了什麼?這與PeeWee如何處理字符串序列化的怪異錯誤有關嗎?
感謝您的回覆,您認爲會怎樣解釋或PeeWee不允許我存儲'videoName'中存儲的視頻名稱,直到我將其更改爲'str(videoName)'? – AdjunctProfessorFalcon
「不允許」是什麼意思?有錯誤嗎? – coleifer
只有當我將videoName中保存的unicode字符串更改爲str(videoName)時,纔會顯示在SQLite數據庫中。 – AdjunctProfessorFalcon