gpt4 book ai didi

python - urllib.urlencode 中的 Unicode 错误 - 在我的 Django Web 应用程序中

转载 作者:行者123 更新时间:2023-11-28 21:27:57 24 4
gpt4 key购买 nike

\大家好,

用户正在将一个 unicode 值 (u'\u2206') 输入到提交到我的 Django View 的文本框中。该 View 使用 GET 数据生成一个 URL,以便稍后返回搜索页面。

当用户提交一个 unicode 字符时,它无法生成 URL。

这里的最佳实践是什么。我应该在将获取的数据发送到 urlencode 之前对其进行编码吗?我应该使用什么编码?

相关代码:

search_form = SearchForm(request.GET)
get_data = dict([(key,item) for (key,item) in search_form.data.items()])
get_params = '&' + urllib.urlencode(query=get_data.items())

错误: 追溯(最近一次通话最后一次):

  File "/opt/python/lib/python2.7/site-packages/django/core/handlers/base.py", line 100, in get_response
response = callback(request, *callback_args, **callback_kwargs)

File "/opt/python/lib/python2.7/site-packages/django/contrib/auth/decorators.py", line 25, in _wrapped_view
return view_func(request, *args, **kwargs)

File "/opt/DjangoProjects/Fly/FlyStore/views.py", line 465, in search
get_params = '&' + urllib.urlencode(query=get_data.items())

File "/opt/python/lib/python2.7/urllib.py", line 1282, in urlencode
v = quote_plus(str(v))

UnicodeEncodeError: 'ascii' codec can't encode character u'\u2206' in position 15: ordinal not in range(128)

最佳答案

在 URL 编码之前编码为 UTF-8。

关于python - urllib.urlencode 中的 Unicode 错误 - 在我的 Django Web 应用程序中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9433414/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com