客户端:
String strArea="华中区";
dos.write(strArea.getBytes(),0,strArea.length());
服务器端:
byte [] data=new byte[4096];
num=dis.read(data);
dos.write("ok".getBytes());
String strArea=new String(data,0,num);
得到的数据为:华?
请问应如何修改

解决方案 »

  1.   

    楼上的答案不一定正确,传输和接受要统一起来,建议使用UTF-8的。String strArea="华中区";
    dos.write(strArea.getBytes("UFT-8"),0,strArea.length());
    服务器端:
    byte [] data=new byte[4096];
    num=dis.read(data);
    dos.write("ok".getBytes());
    //String strArea=new String(data,0,num);
    String strArea = new String(data,"UTF-8");
    得到的数据为:华?
    请问应如何修改
      

  2.   

    另外
    dos.write(strArea.getBytes("UFT-8"),0,strArea.length());
    这么些不是好风格,最该这么写:byte[] b = strArea.getBytes("UFT-8");
    dos.writer(b,b.length);