流传递乱码问题

linpyi 2007-10-26 09:47:39
发送端
String strURL="http://localhost:8080/JavaNet/servlet/TestUrlConnectResponse";
URL url=new URL(strURL);
StringBuffer sb = new StringBuffer();
sb.append("<?xml version=\"1.0\" encoding=\"utf-8\" ?>\r\n");
sb.append("<Root>\r\n");
sb.append("<Insurance>\r\n");
sb.append("<test>"+"一个"+"</test>\r\n");
sb.append("</Insurance>\r\n");
sb.append("</Root>\r\n");
try {
connect(url,sb.toString());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
public void connect(URL url, String str) throws IOException, Exception {

URLConnection connection = url.openConnection();
connection.setRequestProperty("accept-language", "zh-cn");
connection.setDoOutput(true);
OutputStream outs = connection.getOutputStream();
//将该输出流转换为对象输出流
ObjectOutputStream objout = new ObjectOutputStream(outs);
//将要传输的对象写入该对象输出流中
objout.writeObject(str);
objout.close();
String returnData="";
InputStream is = connection.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
while((returnData=br.readLine())!=null){
System.out.println("客户端接收===="+returnData);
}

}
接收
String str="ok";
String str1="";
InputStream inputStream=request.getInputStream();
BufferedReader buffer=new BufferedReader(new InputStreamReader(inputStream));
while((str1=buffer.readLine())!=null){
System.out.println("服务器端接收===="+changeEncoding(str1));
} PrintWriter out = response.getWriter();
out.write(str);
out.close();

最后在服务端打印出
的XML都是乱码,对流没什么研究,希望大家指点指点,顺便帮我讲下写流的传递应该注意什么
...全文
95 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
linpyicool 2007-12-04
  • 打赏
  • 举报
回复
还是要自己解决,
BufferedWriter broutput = new BufferedWriter(new OutputStreamWriter(
connection.getOutputStream()));
broutput.write(str, 0, str.length());
broutput.close();
String returnData = "";
InputStream is = connection.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
while ( (returnData = br.readLine()) != null) {
System.out.println("客户端接收====" + returnData);
}
is.close();
br.close();
super24 2007-10-27
  • 打赏
  • 举报
回复
可能是因为java的编码方式和接受的服务器的编码方式不通

发送和接收时将字符串的编码转成相同的方式

乱码一般都这样解决
linpyi 2007-10-27
  • 打赏
  • 举报
回复
有没人能解释详细些,因为我也试过类似的转码但没什么效果,

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧