import java.io.*;
public class unicodetest
{
  public static void main(String args[])
  {
    String str = "是否";
    try{
      byte[] b = str.getBytes("UnicodeBigUned");
      System.out.println(b.length);
            for (int i = 0; i < b.length; i++)
                System.out.print(b[i] + " ");
            System.out.println("");
    }catch(UnsupportedEncodingException e){}
  }
}在win2k下得到:
102 47 84 38
在linux下得到:
0 -54 0 -57 0 -73 0 -15这样的后果就是win下编码,通过sock发到linux下解析不出来,反之也是如此,各位老大救命啊!!

解决方案 »

  1.   

    用jdk1.5再Fedora上测试,没有发现问题,和Windows一样。是不是你Linux上的Jdk版本太低了?
      

  2.   

    windows下测试结果为
    4
    102 47 84 38 关注楼主的问题
      

  3.   

    是版本问题
    我在windows及linux9下,用jdk1.5结果都是
    4
    102 47 84 38 
    而在linux9下,用jdk1.4,结果为
    6                
    -1 -3 1 -9 -1 -3 
    建议楼主将jdk升为1.5,应该没问题了