Chinaunix
标题:
过年前最后一个问题.....django的post.get汉字编码的问题
[打印本页]
作者:
kc_hxd_jp
时间:
2010-02-11 08:55
标题:
过年前最后一个问题.....django的post.get汉字编码的问题
django中的代码
mkjc = request.POST.get('mkjc',None)
f = open("/tmp/codetest","w"
f.write(mkjc)
f.close()
出现错误....
UnicodeEncodeError at /screen/
'ascii' codec can't encode characters in position 0-4: ordinal not in range(12
django中setting编码LANGUAGE_CODE = 'utf-8'
页面编码也是utf-8
作者:
3227049
时间:
2010-02-11 09:17
django获取的get,post都是unicode,unicode是不能直接写入文件的
from django.utils.encoding import smart_str
mkjc = request.POST.get('mkjc',None)
if mkjc:
mkjc=smart_str(mkjc)
f = open("/tmp/codetest","w")
f.write(mkjc)
f.close()
作者:
kc_hxd_jp
时间:
2010-02-11 09:33
感谢3227049......能写进去了
感觉Linux上的编码好烦啊
作者:
3227049
时间:
2010-02-11 11:18
和linux没关系的,python的unicode对象在任何系统都不能直接写入的
另外,编码是django自己转的,而且不仅是django,大体现在的主流框架,包括一些request解析工具webob,werkzeug之类的,都会把get,post转成unicode
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2