2016-08-16 41 views
0

我試圖注入一個查詢,以下列方式的字符串:£登錄Python的SQLAlchemy的查詢

value = '£' 
query = """select * from table where condition = '{0}';""".format(value) 

的問題是這樣的格式化的結果是:

SELECT * from table where condition ='\ xc2 \ xa3';

由於我將在sqlalchemy中使用此查詢,因此我需要編碼的字符串作爲實際的pund符號出現。

我如何能使得這個查詢這個樣子的?:任何想法

SELECT * FROM表WHERE條件= '£';

我使用的Postgres 3.5和Python 2.7.6

另外,如果我嘗試以下方法:

'\xc2\xa3'.decode('utf-8') 

結果是:

U '\ XA3'

+1

嘛字節序列' 「\ XC2 \ XA3」'是* *已經井號''£(UTF-8編碼),所以它不會太大感覺要問怎麼把前者變成後者。你問如何從中獲得一個「unicode」對象?或者,你是問如何顯示字符串,以便在你的控制檯中出現一個英鎊? – univerio

+0

只需在你的python2代碼中使用unicode文字:'from __future__ import unicode_literals'。 – van

+0

如果我正確地傳遞字符串(即使顯示它顯示了一個奇怪的字符),它正確地正確解釋它,謝謝! – johan855

回答