我使用postman发送包含西里尔字母的参数到django的url中,并获得了类似于%D0%B7%D0%B2
这样的变量search_text
实际上,如果打印search_text
,我会得到类似于текст
的输出
我在控制台尝试了以下内容,并且没有出现错误
>>> a = "текст"
>>> a
'\xd1\x82\xd0\xb5\xd0\xba\xd1\x81\xd1\x82'
>>> print a
текст
>>> b = a.decode("utf-8")
>>> b
u'\u0442\u0435\u043a\u0441\u0442'
>>> print b
текст
>>>
如果没有控制台,我会遇到错误:
"""WHERE title LIKE '%%{}%%' limit '{}';""".format(search_text, limit))
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
如何预防它?