你这个算是典型的编码问题吧你都用UTF发和收byte[] sendmsgs = String.getBytes("UTF-8");
send...收
java.io.BufferReader br = new java.io.BufferReader(new java.io.inputStreamReader(in, "UTF-8")while((String s=br.readline())!=null)
{
...
}

解决方案 »

  1.   

    我接收是这样做的不知怎样进行转码?        
            byte[] buffer = new byte[1024];
            receivePacket = new DatagramPacket(buffer, buffer.length);
            receiveSocket.receive(receivePacket);
            byte[] data = receivePacket.getData();
            received = new String(data, 0, data.length);
      

  2.   

    received = new String(data,"UTF-8");
      

  3.   

    首先你要知道你发送的时候用的是什么样的编码。在接收时把你发送的编码转化为ISO-88591编码格式再显示,就没有问题了
      

  4.   

    littlecpu(嘿,哥们,你欠我分,快给咯)你的方法我试过了,不行呀.中文时接受不全
    发送:
          String s = sendmessage.getText().trim();
          byte[] data = s.getBytes("UTF-8");
          Clientwindow.sendPacket = new
          DatagramPacket(data, s.length(), InetAddress.getByName(theip),
                             theport);接收:
            byte[] buffer = new byte[1024];
            receivePacket = new DatagramPacket(buffer, buffer.length);
            receiveSocket.receive(receivePacket);
            byte[] data = receivePacket.getData();
            received = new String(data,"UTF-8");
      

  5.   

    1)在接收数据时packet=new DatagramPacket(buf,m_nArraySize);数组应越大越好
    在发送数据时packet=new DatagramPacket(buf,buf.length,address,port);应该根据实际的大小