我有一个HttpPost,它已经运行了好几年但是我发现它没有提供某些字符(我可以看到它们在客户端前往服务器之前看起来正确,我可以看到它们作为服务器上的小三角形到达...同样,当我从Web浏览器发出请求时,一切正常,因此,看起来请求不是使用正确的编码进行的。)
这是我的代码:
HttpClient client = new HttpClient();
filePost = new PostMethod(URL_PATH);
filePost.setRequestBody(nvpArray);
responseCode = client.executeMethod(filePost);
我希望有一些相对直接的方法来转换此请求以处理UTF-8。
或者,非直接的方式也足够了:)
答案 0 :(得分:0)
所以,在找了一会儿之后我找到了this example,结果就是需要扩展PostMethod并创建一个覆盖getRequestCharSet()并返回“UTF-8”的小类。在示例中,他们还设置了如下内容类型:
setRequestHeader("ContentType", "application/x-www-form-urlencoded;charset=UTF-8");
我没有尝试过做一个而不是另一个,我只是将两个部分添加到我的代码中,现在它完美无缺。