开发背景
目前已经用scala开发了RESTFUL API来接收传送来的用户聊天数据,正在在使用python开发kafka的consumer消费kafka中的数据,每天保存成一个文件,然后加载到hive中。python版本是2.7
遇到的问题
- 发送中文时的乱码问题
首先在在测试RESTFUL API 的时候就遇到了后台发送的中文信息乱码问题,这个问题在java或者scala端添加上正确的头部信息后搞定了
HttpURLConnection conn = (HttpURLConnection) httpUrl.openConnection();
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
消费kafka信息时的解码问题
然后在使用python将消息消费出来时也出现了编码问题,并不能正确的将中文内容保存下来,例如 “content” : “\u4f60\u60f3\u5565\u5462”调试排查后发现主要原因在使用json.dumps方法是 没有指明 ensure_ascii=False(默认为True)
当然还要声明python的编码reload(sys) sy