日期:2014-05-20  浏览次数:20625 次

java网络传输中文字符的问题
客户端:
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);
得到的数据为:华?
请问应如何修改

------解决方案--------------------
楼上的答案不一定正确,传输和接受要统一起来,建议使用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 ");
得到的数据为:华?
请问应如何修改