一般很少遇到字符編碼的問題,默認都是utf8,但是這次小程序卻是遇到了小程序的客服前端不解碼的問題。
收到一大堆經過unicode編碼的中文,看了一下文檔,小程序不像正常的解析中文的程序,會默認把unicode進行轉碼,所以在用django處理的時候注意對中文的轉碼:
requests.post(url, data=json.dumps({
"touser":openid,
"msgtype":"text",
"text":
{
"content": msgTemplates[body['Content']]
}
}, ensure_ascii=False).encode()
注意ensure_ascii=False
這個json.dumps的默認參數爲ensure_ascii=True
,意思是不能進行ascii編碼進行默認的utf8編碼:
json.dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, encoding="utf-8", default=None, sort_keys=False, **kw)