在项目中使用HttpPost方式向服务器提交JSON数据时,服务器上接收的json数据竟然显示乱码,查找了不少方法,最终一个解决了我的问题,我的部分代码如下:

HttpPost hp = new HttpPost(address);
				JSONObject jo = new JSONObject();
				try {
					jo.put("stationname", stationName);
					jo.put("personname", personName);
					jo.put("fileTime", fileTime);
					jo.put("filetype", fileType);
					System.out.println(jo);
					hp.setEntity(new StringEntity(jo.toString(), HTTP.UTF_8));
					hc.execute(hp);
				}


原代码中 hp.setEntity(jo.toString()); 不能正确的传输中文。改成这样:

hp.setEntity(new StringEntity(jo.toString(), HTTP.UTF_8));

要使用utf-8将请求参数进行编码后传输,在服务器端就能正确的读出json传输的中文字符了。

GitHub 加速计划 / js / json
18
5
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:3 个月前 )
2d42229f * Support BSON uint64 de/serialization Signed-off-by: Michael Valladolid <mikevalladolid@gmail.com> * Treat 0x11 as uint64 and not timestamp specific Signed-off-by: Michael Valladolid <mikevalladolid@gmail.com> --------- Signed-off-by: Michael Valladolid <mikevalladolid@gmail.com> 5 天前
1809b3d8 Signed-off-by: Niels Lohmann <mail@nlohmann.me> 5 天前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐