如何重定向到包含在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))
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top