0
我讀了一個文本文件,其中有一些字符'\260'
(意思是'°'
),然後我將它添加到DB(sqlite3)。編碼(unicode)十六進制到八進制
之後,我嘗試從DB獲取信息,但是sql查詢將使用'\xb0'
(也意味着'°'
)構建,因爲我從XML文件中獲取此信息。
我嘗試用八進制chracters替換十六進制字符:文本= text.replace(r'\xb0', '\260')
,但它不能正常工作,爲什麼?我無法構建正確的sql查詢。
也許有這個問題例如一些解決方案編碼,解碼等
咋地,但SELECT * FROM xxx其中一個= '\ xb0C' 是不一樣的選擇*從xxx其中a = '\ 260',這是我的問題。我應該寫select * from xxx where a ='\ xb0'.decode('latin1')? – user2973395
@ user2973395:使用sql參數; 'cursor.execute('select * from xxx where a =?',(u'\ xb0',))'。 –
@ user2973395:不要使查詢unicode,只有參數。 –