在客户端传的时候,我用的
HttpURLConnection httpURLConnection = getConnection(url);
httpURLConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
DataOutputStream out = new DataOutputStream(httpURLConnection.getOutputStream());
String data = JSON.toJSONString(obj);
out.writeBytes("obj=" +data);
下面是服务端接受数据的时候进行的编码
request.setCharacterEncoding("UTF-8");
ServletInputStream is = request.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is,"UTF-8"));
StringBuilder sb = new StringBuilder();
String str = "";
while ((str = br.readLine()) != null) {
sb.append(str);
}
if (sb != null && sb.length() > 0) {
obj = sb.substring(sb.indexOf("=") + 1);
}
//处理json字符串数据中有key值为null
if (!"".equals(obj)) {
obj = obj.replaceAll("\"null\":", "000:");
obj = obj.replaceAll("\'null\':", "000:");
}
这样了结果还是出现乱码,求大神指教!!!
如果用的tomcat 的话,默认好像是传输欧码,需要更改下,要不然传输都不对了,更别说解码了。
这个怎么改,我现在tomcat编码格式是UTF-8,而且我从服务端下载到的就乱码,上传上去服务端获取到的也是正常的,就是在读的时候一读就出问题了。大神,怎么解决