nginx+django httpresponse返回中文编码问题
2015-12-28 16:13
597 查看
问题产生
本机nginx做文件服务器(使用nginx-upload-module模块),使用django做应用服务器,当文件上传到nginx后,将处理后的文件信息反馈给django服务,django处理后回传response值。在返回response值时候出现中文编码问题。
思路
(1)当遇到编码问题,首先想到了python的中文编码解决(2)第一步不能解决后,把注意力回到nginx上
步骤
一.python 整体编码,设置编码为utf8
import sys reload(sys) sys.setdefaultencoding("utf-8")
二.python使用json的编码
尝试使用
simplejson,在其中设置
ensure_ascii=False,发现在django
1.7.8中没有simplejson,而是直接是json。
from django.core.serializers.json import json content = json.dumps(<jsonData>, ensure_ascii=False) response = HttpResponse(content, content_type='application/json; charset=utf-8') return response
三.当修改django中的编码没有效果时,就考虑是否是nginx中的编码问题
server { listen 80; server_name localost; charset utf-8,gbk; }
其中设置编码为
utf-8,gbk。
最后发现是nginx的编码产生的问题,问题解决。
总结
在使用python时候,编码问题是会经常遇到的,这个需要注意;在实际的问题解决中,需要对每个过程都要考虑到,就像这次开发中使用到nginx+django+python +shell,每个流程都要小心。参考资料:
1./article/2365334.html
2./article/1283586.html
3.关键字:nginx 中文编码
相关文章推荐
- 芒果iOS开发之Unable to add a source with url `https://github.com/CocoaPods/Specs.git` named `master`.
- iOS9网络请求错误的原因
- 智能家居网络系统设计(五)
- android开发通过基站手机网络实现定位功能(Google实现)
- 小米 https
- Linux抓包工具tcpdump详解
- iOS中 HTTP/Socket/TCP/IP通信协议详解 韩俊强的博客
- iOS中 HTTP/Socket/TCP/IP通信协议详解 韩俊强的博客
- 我是小机AIX+Oracle,网络短时间中断又自动恢复 ,查出根本原因没商量
- 网络层—距离矢量算法
- AFNetwork 3.0 源码解读(二)网络情况监听
- Android 一个改善的okHttp封装库
- wireshark怎么抓包、wireshark抓包详细图文教程
- HTTP之Content-Length
- HTTP 的重定向301,302,303,307(转)
- 网络安全
- Java 使用 URLConnection 模拟 Http Get和Post 提交
- 智能家居网络系统设计(四)
- Python网络爬虫小试刀——抓取ZOL桌面壁纸图片1
- LTE-物理信道及映射关系 http://gxw0099.blog.163.com/blog/static/59710262201401511204125/