解决: HttpPost 中文字符乱码
程序员文章站
2024-01-27 00:01:58
...
网
网上有
有两种post方式:
第一:原生的post方式
例如:
HttpURLConnection connection = null;
try {
// 创建连接
URL url = new URL(URL);
connection = (HttpURLConnection) url.openConnection();
// 设置http连接属性
connection.setDoOutput(true);
connection.setDoInput(true);
connection.setRequestMethod("POST"); // 可以根据需要 提交 GET、POST、DELETE、INPUT等http提供的功能
connection.setUseCaches(false);
connection.setInstanceFollowRedirects(true);
// 设置http头 消息
connection.setRequestProperty("Content-Type", "application/json; charset=UTF-8"); //设定 请求格式 json,也可以设定xml格式的
// connection.setRequestProperty("Content-Type", "text/xml"); //设定 请求格式 xml,
connection.setRequestProperty("Accept", "application/json");//设定响应的信息的格式为 json,也可以设定xml格式的
// connection.setRequestProperty("X-Auth-Token","xx"); //特定http服务器需要的信息,根据服务器所需要求添加
connection.connect();
// 传递 fastjson数据
OutputStream out = connection.getOutputStream(); // 获取(写)数据流
out.write(jsonObject.toJSONString().getBytes()); // 向数据流写数据 (JsonObject需要先转换成字符串)
out.flush();
out.close(); // 关闭数据流
// 请求返回的状态 connection.getResponseCode()
if (connection.getResponseCode() != 200) {
throw new IOException("Can not connect URL");
}
.....省略
connection.setRequestProperty("Content-Type", "application/json");
改成
connection.setRequestProperty("Content-Type", "application/json; charset=UTF-8");
第二种:HttpPost
我写成下面这样:无效 StringEntity params = new StringEntity(jsonObject.toJSONString());
params.setContentEncoding("UTF-8");
post.addHeader("content-type", "application/json; charset=UTF-8");
post.addHeader("Accept", "application/json");
post.addHeader("Accept-Encoding", "UTF-8");
post.setEntity(params);
改成:
HttpPost post = new HttpPost(URL); // UTF-8 解决中文乱码 StringEntity params = new StringEntity(jsonObject.toJSONString(), "UTF-8"); post.addHeader("content-type", "application/json; charset=UTF-8"); post.addHeader("Accept", "application/json"); post.addHeader("Accept-Encoding", "UTF-8"); post.setEntity(params);
如果接受方法中,还是无法显示中文,可以加上
new String(param.getBytes(), Charset.forName("UTF-8"));
上一篇: IDEA控制台乱码解决
下一篇: idea控制台乱码解决