windows下javac编译通过,但运行结果有乱码,myeclipse下编译通过且运行无问题

    昨天写了个程序,用来做数据转发的,需要从txt文件里读数据,

 FileInputStream fis  =   new  FileInputStream(path);
 InputStreamReader isr  =  new  InputStreamReader(fis,"UTF-8");

 对文本进行解析之后使用socket发送

byte[] bs = sendStr.toString().getBytes("UTF-8");
os.println(new String(bs,"UTF-8"));
os.flush();
System.out.println(new String(bs,"UTF-8"))

 在myeclipse下运行,对方收到的数据进行解析,一切正常,使用javac解析也没有问题,也使用-encoding UTF-8设置了编码格式,在本地打印的中文正常,对方接收后显示中文乱码,想请教一下各位,有遇到过同样问题的吗?

在从socket中读取信息的时候需要用到下面的方法
out = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(),"UTF-8"));;
这个buffer中的数据就不会乱码,效率也比你byte的高

对方设置编码了没有?

建议你发送的数据使用
如果发送byte 应该明确写明使用的编码 str.getBytes("UTF-8") 而不是str.getBytes() //这样是系统默认的

不知道你咋发送的

以下几个地方可以考虑:
1)你自己文件中是否是正常显示的

2)然后文件读取后是否正常
3)传输过程中的编码方式
4)传输过去以后展示的时候编码方式是否正确
5)对方的系统是否支持中文 (就是说有没有中文字库)