nginx+django httpresponse返回中文编码问题

php中文网
发布: 2016-07-29 09:08:59
原创
1532人浏览过

问题产生

本机nginx做文件服务器(使用nginx-upload-module模块),使用django做应用服务器,当文件上传到nginx后,将处理后的文件信息反馈给django服务,django处理后回传response值。在返回response值时候出现中文编码问题

思路

(1)当遇到编码问题,首先想到了python的中文编码解决
(2)第一步不能解决后,把注意力回到nginx上

步骤

一.python 整体编码,设置编码为utf8

<code><span>import</span> sys
reload(sys)
sys.setdefaultencoding(<span>"utf-8"</span>)</code>
登录后复制

二.python使用json的编码
尝试使用simplejson,在其中设置ensure_ascii=False ,发现在django 1.7.8 中没有simplejson,而是直接是json。

<code><span>from</span> django.core.serializers.json <span>import</span> json

content = json.dumps(<jsonData>, ensure_ascii=<span>False</span>)
response = HttpResponse(content, c>'application/json; charset=utf-8'</span>)
<span>return</span> response
</code>
登录后复制

三.当修改django中的编码没有效果时,就考虑是否是nginx中的编码问题

<code><span>server</span> {
        <span>listen</span><span>80</span>;
        <span>server_name</span>  localost;
        <span>charset</span> utf-<span>8</span>,gbk;
        }</code>
登录后复制

其中设置编码为utf-8,gbk

文心快码
文心快码

文心快码(Comate)是百度推出的一款AI辅助编程工具

文心快码 35
查看详情 文心快码

最后发现是nginx的编码产生的问题,问题解决。

总结

在使用python时候,编码问题是会经常遇到的,这个需要注意;在实际的问题解决中,需要对每个过程都要考虑到,就像这次开发中使用到nginx+django+python +shell,每个流程都要小心。


参考资料:
1.http://blog.csdn.net/eengel/article/details/6198585
2.http://www.jb51.net/LINUXjishu/63475.html
3.关键字:nginx 中文编码

').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

以上就介绍了nginx+django httpresponse返回中文编码问题,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号