Django 程序用 runserver 裸跑的时候不会出现编码问题。但是用 uwsgi 时,post 的请求的数据进到 view 方法后会被处理成 unicode,然后在 json.loads 时报 parse object error。
如果此时强制指定编码格式,如 json.loads(data, encoding='utf8'),string 是能正常被转化的。
感觉像是 locale 设置的问题,因为 locale.getlocale() 返回的是 (None, None)。
网上找了一些讨论,比如
http://itekblog.com/ascii-codec-cant-encode-characters-in-position/,但是还是没解决掉这个问题。
求一些解决问题的思路,谢谢
---
Python 2.7.3
Django 1.7.4
uwsgi 2.0.9