linux 默认编码
# locale
LANG=en_US
LC_CTYPE="en_US"
LC_NUMERIC="en_US"
LC_TIME="en_US"
LC_COLLATE="en_US"
LC_MONETARY="en_US"
LC_MESSAGES="en_US"
LC_ALL=en_US服务端:  BufferedReader in = new BufferedReader(new InputStreamReader(socket
.getInputStream(),"gbk"));
String recvs = in.readLine();客户端:PrintWriter out = new PrintWriter(new BufferedWriter(
new OutputStreamWriter(socket.getOutputStream(),"gbk")), true);
out.println(sendstring);
服务端掉hw 的SMEntry.submitShortMessage 发送短信 为什么总是乱码 ?
windows 下能行

解决方案 »

  1.   

    gbk 乱码 就换个 UTF-8 到呗!
      

  2.   

    查看一下你服务器端的file.encoding是不是和windows下一样。public class TestEncoding { public static void main(String[] args) { 
    System.out.println(System.getProperty("file.encoding"));

    }
      

  3.   

    客户端是什么编码?
    out.println(sendstring);
    执行这句的时候,JAVA实际上是把sendsstring.getBytes("gbk");传递出去了.服务器端接收的时候,
    String recvs = in.readLine();
    实际上是 String recvs = new String(byes[],"gbk");
      

  4.   

    linux 下System.out.println(System.getProperty("file.encoding"));
    为ISO8859-1