django的json返回值带有汉字的处理
2013-03-28 12:01
232 查看
原因:simpleJson把utf-8编码的字符串直接转成了unicode,但却是按字节来转的,不是真正的unicode
下面是转化为unicode的代码
引用:http://blog.donews.com/limodou/archive/2006/09/14/1037959.aspx
下面是转化为unicode的代码
from django.http import HttpResponse from django.utils import simplejson from django.conf import settings def json(data): encode = settings.DEFAULT_CHARSET return HttpResponse(simplejson.dumps(uni_str(data, encode))) def uni_str(a, encoding): if isinstance(a, (list, tuple)): s = [] for i, k in enumerate(a): s.append(uni_str(k, encoding)) return s elif isinstance(a, dict): s = {} for i, k in enumerate(a.items()): key, value = k s[uni_str(key, encoding)] = uni_str(value, encoding) return s elif isinstance(a, str) or (hasattr(a, ‘__str__’) and callable(getattr(a, ‘__str__’))): if getattr(a, ‘__str__’): a = str(a) return unicode(a, encoding) elif isinstance(a, unicode): return a else: return a
引用:http://blog.donews.com/limodou/archive/2006/09/14/1037959.aspx
相关文章推荐
- 输入密码,隐藏显示;Json 汉字处理;恢复已保存的 cookie
- ajax json 处理返回值方法,附带中文乱码解决方案
- 关于在web编程中汉字采用unicode的6字节明文编码(json汉字处理)
- 如何处理$.getjson 返回值 为空的问题
- NSURL中带有汉字参数的乱码处理
- NSURL中带有汉字参数的乱码处理
- Datawindow通过Json接口实现数据操作时(三层)PHP5.2 json_encode时发现汉字转换成了\u表示的处理方法
- PHP jsonencode 已经json中包含 汉字的处理
- JAVA JSONObjct.toBean() 转换为 JAVA Bean 时 JAVA Bean 带有 List 集合处理方案
- PHP调用跨域接口,处理返回值JSON与XML
- 使用GSON解析带有汉字的Json串
- jQuery中json中关于带有html代码网页的处理
- Unity3D 网络通信_HTTP协议、处理Json格式返回值、请求加Oauth
- EXT 3.x 使用详解之fileUpload处理返回值json问题 <pre></pre>
- Django Rest Framework - 异常 、返回值处理 与 分页实现
- Unity3D 网络通信_HTTP协议、处理Json格式返回值、请求加Oauth
- jQuery autocomplete 处理json 返回值形式的demo
- django中json处理
- Asp.Net Core中使用Newtonsoft.Json进行序列化处理解决返回值首字母小写
- 处理json返回值带per的问题