如何重定向到包含在Django非ASCII字符的查询字符串的URL?
-
18-09-2019 - |
题
如何重定向到包含在DJANGO非ASCII字符的查询字符串的URL?
当我使用return HttpResponseRedirect(u'/page/?title=' + query_string)
其中query_string
包含像你好
字符,我得到一个错误
“ASCII”编解码器不能在21-26位置编码字符:顺序不 在范围(128),HTTP响应头必须是在US-ASCII格式...
解决方案
HttpResponseRedirect(((u'/page/?title=' + query_string).encode('utf-8'))
是尝试(因为UTF8是唯一流行的编码,可以处理所有Unicode字符)的第一件事。那一定要摆脱你观察异常 - 问题然后移动到确保/page
处理程序可以使用UTF-8编码查询(通过解码回成Unicode大概)妥善处理。然而,这部分不是,严格来说,锗这个具体问题你问!
其他提示
django的方式:
from django.http import HttpResponseRedirect
from django.utils.http import urlquote
return HttpResponseRedirect(u'/page/?title=%s' % urlquote(query_string))
不隶属于 StackOverflow