1
我有一個在django中創建的webapp/webservice方法,它在DB表上存儲unicode字符文件名。我用這種方法在views.py腳本做:Unicode字符文件名SELECT SQL參數問題
SubmissionContents(id=subid, filename=fn.decode('unicode_escape')).save()
我做這種方式,因爲我遇到了一些Unicode的文件名了表徵,這是不正常存儲在數據庫(無論是什麼原因,我仍然不知道)。這也是對這個建議stackoverflow thread/link:
現在在後端,我有一個普通的python腳本,它使用MySQLdb-python模塊來查詢上述數據庫。我的查詢是這樣的:
filename = (u"%s").encode('unicode_escape')
cursor.execute('select * from `submissioncontents`
where `submissioncontents`.`filename` = "%s"'
% filename.decode('unicode_escape'))
的問題是有沒有回到比賽,雖然我非常肯定的DB-表填充了這樣的價值。我應該如何正確地進行查詢?
在此先感謝!
你打算做一個LIKE搜索嗎? – sgeddes
你能輸出要被光標執行的SQL命令嗎?我猜你可能無法做到,但是從它應該匹配的行中獲得價值,可以讓你眼睛看到編碼引起的任何明顯差異。 –
等等,這裏發生了什麼:'(u「%s」)。encode('unicode_escape')'?你是否想在轉義之前用unicode的實際文件名來格式化它? –