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,只有参数。 –