zoukankan      html  css  js  c++  java
  • Django 网页中文显示u开头的乱码

    Django JsonResponse返回中文时显示unicode编码(u67e5u8be2)

    关注公众号“轻松学编程”了解更多。

    原因

    这个unicode编码,是python3默认返回的编码。

    解决方案

    JsonResponse里面有个参数json_dumps_params,设置为json_dumps_params={‘ensure_ascii’:False}即可。

        data = {'msg': '创建成功',}
        return JsonResponse(data=data, json_dumps_params={'ensure_ascii': False})

    字典json序列化与反序列

    import json
    a = {'hello world': '你好,世界'}
    # dumps是序列化
    c = json.dumps(a)
    # loads是反序列化
    print(json.loads(c))
    

    输出:

    {"hello world": "u4f60u597duff0cu4e16u754c"}
    

    这是由于python3返回默认的是unicode编码,如果想显示中文可以增加一个参数ensure_ascii=False:

    import json
    a = {'hello world': '你好,世界'}
    c = json.dumps(a, ensure_ascii=False)
    # 
    print(json.loads(c))
    

    输出:

    {'hello world': '你好,世界'}
    

    另一种写法:

    return render(request, 'list.html', {"form_list": json.dumps(form_list, ensure_ascii=False)} )
    

      

  • 相关阅读:
    计算机硬件
    队列、堆、栈、堆栈的区别
    操作系统与应用程序的关系
    DNS与HTTPDNS
    配置静态路由传送网络包
    django的nginx配置
    视频流和文件传输相关协议
    HTTPS 对称加密和非对称加密
    HTTP1.1/2.0与QUIC协议
    mysql join联表 + id自增
  • 原文地址:https://www.cnblogs.com/sddai/p/14276321.html
Copyright © 2011-2022 走看看