Django汉字Cookie编码问题
来源:互联网 发布:达科塔约翰逊知乎 编辑:程序博客网 时间:2024/06/05 03:41
Django设置Cookie时需要注意,不能直接把utf-8编码的汉字保存到Cookie中,否则会出现 UnicodeEncodeError ,提示:‘ascii’ codec can’t encode characters in position 0-1: ordinal not in range(128) 。
解决这个问题很简单,只需要将Cookie由 unicode 类型转为 str 类型就可以了,可以用传统的方法,如:
from urllib import unquoteun = u"汉字"# response.set_cookie("username", un) # UnicodeEncodeError!un2 = unquote(unicode(un).encode("utf-8"))response.set_cookie("user_name", un2) # OK
另外,Django提供了三个方法来解决这个问题:
django.utils.encoding.smart_unicode django.utils.encoding.force_unicodedjango.utils.encoding.smart_str
下面来看看如何使用smart_str来解决该问题:
from django.utils.encoding import smart_strun = u"汉字"response.set_cookie("username", un) # UnicodeEncodeError!un2 = smart_str(un)response.set_cookie("user_name", un2) # OK
阅读全文
0 0
- Django汉字Cookie编码问题
- django 模版编码问题
- python编码问题u'汉字’
- python 编码问题 u'汉字'
- django编码问题的解决
- Django的中文编码问题
- 汉字问题 UTF-8编码 乱码如何实现汉字转化
- oracle 插入汉字时字符编码问题
- Java输入汉字的编码问题
- Eclipse中汉字字符编码问题
- 关于项目编码规范 汉字乱码问题
- python 编码 中文汉字显示问题小结
- 又遇 django 中文编码问题
- django发中文邮件的编码问题
- Django采用MySQL中文编码的问题
- nginx+django httpresponse返回中文编码问题
- django导出csv文件的编码问题
- javaweb的cookie的编码问题
- Wannafly模拟赛 矩阵 [矩阵hash+二分]
- Java
- 数组的重点与坑!!!
- 多重继承的构造函数和析构函数的执行顺序(包含虚基类)
- iOS之SQLite基本使用
- Django汉字Cookie编码问题
- STL常见面试题
- java
- hiho1576 子树中的最小权值【dfs序】
- 单链表逆序(就地逆置和头插)
- angular删除表格
- 介绍几个绕开JS验证的方法(服务器端验证是必要的)
- 文章标题
- 流表项莫名地被删除 无故消失的解决方法和参考 流表删除的三种方式 OFPFC_DELETE_STRICT OFPFC_DELETE