前台(使用asp.net)通过socket向后台发送一段以UTF-8编码的字节数组,后台(Delphi的ServerSocket)使用strMsg:=ServerSocket1.Socket.Connections[0].ReceiveText 接收到了这段消息。
问题是:如果前台把含有中文的字符串编码为字节数组再发送到后台,后台接收这消息时,中文乱码了(英文没事)。另我,试过前台用UTF-7或Unicode把字符串编码为字节数组也不不正常显示。
  请问这问题怎样解决呢?

解决方案 »

  1.   

    你在delphi中用widestring类型来处理你接受到的数据,不要用receivetext,而应该用receivebuf来处理数据.
      

  2.   

    另外你在用asp.net时应将注意字节数组处理unicode码时有什么问题,我对asp.net不太熟悉,不过可能出现的问题在你将字符串存入字节数组中时,对双字节的unicode码字的存储方式应该了解是怎么样的.据我的感觉,问题不是在这里,而是我上面所说的那样.