如果
System.out.println(new String("测试测试".getBytes("GB2312"),"iso-8859-1"); --可以在linux端正常显示.说明能在linux端正常显示的是iso-8859-1的编码,System.out.println("server :\n" + strResponse);  
打印没有乱码说明strResponse保存的是
new String("测试测试".getBytes("GB2312"),"iso-8859-1"); 
这样的字符串所以,你可以这样:
服务器端:strResponse.getBytes("iso-8859-1")//发送iso-8859-1字节
客户端 new String(获取的字节数组,"GB2312")
应该可以转化为正确的unicode,
但是你说这样打印乱码你是否可以先打印一下客户端转化后的字符串的各个unicode值,来确定一下是否接到了正确的unicode,如果接到了正确的还打印乱码,
是不是你客户端打印时用错了编码,试试对
new String(获取的字节数组,"GB2312")获得的字符串再做转码打印