Hello everyone, Following is my code:
def post(self, request, *args, **kwargs): self.object = self.get_object() form = forms.CommentForm(request.POST or None) if form.is_valid(): response = self.form_valid(form) return self._set_cookies(response, form) ... @transaction.atomic def form_valid(self, form): self.object = form.save(commit=False) self.object.ip = get_remote_addr(self.request) self.object.save() return HttpResponseRedirect(self.get_success_url()) def _set_cookies(self, response, form): year = 365 * 24 * 60 * 60 response.set_cookie('nickname', form.cleaned_data['nickname'], max_age=year) response.set_cookie('url', form.cleaned_data['url'], max_age=year) response.set_cookie('email', form.cleaned_data['email'], max_age=year) return response But if the form.cleaned_data['nickname'] contains Chinese, an exception is raised: Traceback (most recent call last): File "/usr/local/Cellar/python3/3.5.2_3/Frameworks/Python.framework/Versions/3.5/lib/python3.5/wsgiref/handlers.py", line 138, in run self.finish_response() File "/usr/local/Cellar/python3/3.5.2_3/Frameworks/Python.framework/Versions/3.5/lib/python3.5/wsgiref/handlers.py", line 180, in finish_response self.write(data) File "/usr/local/Cellar/python3/3.5.2_3/Frameworks/Python.framework/Versions/3.5/lib/python3.5/wsgiref/handlers.py", line 274, in write self.send_headers() File "/usr/local/Cellar/python3/3.5.2_3/Frameworks/Python.framework/Versions/3.5/lib/python3.5/wsgiref/handlers.py", line 333, in send_headers self._write(bytes(self.headers)) File "/usr/local/Cellar/python3/3.5.2_3/Frameworks/Python.framework/Versions/3.5/lib/python3.5/wsgiref/headers.py", line 142, in __bytes__ return str(self).encode('iso-8859-1') UnicodeEncodeError: 'latin-1' codec can't encode characters in position 227-228: ordinal not in range(256) So how to save the unicode data into cookie? I have to urlencode it manually? -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscr...@googlegroups.com. To post to this group, send email to django-users@googlegroups.com. Visit this group at https://groups.google.com/group/django-users. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/4a5ca63a-e947-4c5a-80eb-bab026b6445a%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.