我有蟒蛇以下RESTful客户端:阿拉伯语编码错误
import requests;
s= 'وإليك ما يقوله إثنان من هؤلاء';
resp = requests.post('http://localhost:8080/MyApp/webresources/production/sendSentence', json={'sentence': s,})
的aforementionned代码调用Java中实现的web服务,返回从请求客户端发送相同的句子。
这是Java Web服务:
@POST
@Consumes("application/json")
@Produces("text/html; charset=UTF-8")
@Path("/sendSentence")
public String sendSentence(@Context HttpServletRequest requestContext, String valentryJson) throws Exception {
try {
if (valentryJson != null) {
JSONObject jsonObject;
jsonObject = new JSONObject(valentryJson);
String sentence = jsonObject.getString("sentence");
return sentence;
}
} catch (JSONException ex) {
}
return "";
}
问题是编码,因为当我尝试打印的内容是这样的结果:
>>> resp.content
'\xd9\x88\xd8\xa5\xd9\x84\xd9\x8a\xd9\x83 \xd9\x85\xd8\xa7 \xd9\x8a\xd9\x82\xd9\x88\xd9\x84\xd9\x87 \xd8\xa5\xd8\xab\xd9\x86\xd8\xa7\xd9\x86 \xd9\x85\xd9\x86 \xd9\x87\xd8\xa4\xd9\x84\xd8\xa7\xd8\xa1'
或当我使用打印:
>>> print resp.content
ظˆط¥ظ„ظٹظƒ ظ…ط§ ظٹظ‚ظˆظ„ظ‡ ط¥ط«ظ†ط§ظ† ظ…ظ† ظ‡ط¤ظ„ط§ط،
您没有解码内容。据推测这是Python 2? –
我试图解码它使用resp.content.decode('utf8')它不起作用 –
是的,它是蟒蛇2.6.5 –