我在使用Unicode方面遇到了一些麻烦。我是编程的初学者,所以我无法理解这个问题的其他答案。
回溯
Traceback:
File "/usr/lib/python2.7/dist-packages/django/core/handlers/base.py" in get_response
132. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/django/django_project/learn/views.py" in index
19. if str(get_one_phrasalverb) not in cannot_be_random:
Exception Type: UnicodeEncodeError at /learn/keep-from/
Exception Value: 'ascii' codec can't encode character u'\xa0' in position 4: ordinal not in range(128)
有问题的代码部分
cannot_be_random = request.session.get('cannot_be_random')
if str(get_one_phrasalverb) not in cannot_be_random:
cannot_be_random.append(str(get_one_phrasalverb))
request.session['cannot_be_random'] = cannot_be_random
请告诉我代码的某些部分或部分回溯是否缺失。
有人可以帮助我吗?
答案 0 :(得分:2)
问题出在str(get_one_phrasalverb)
内。该错误表示get_one_phrasalverb
无法使用str
编码转换为ascii
。
因此,您需要首先了解get_one_phrasalverb
的编码,如果编码为utf8
,您可以使用get_one_phrasalverb.encode('utf8')
代替str(get_one_phrasalverb)