方法一:
主要還是伺服器端和客戶端編碼匹配的問題
不管用何種編碼
只要兩端匹配
就ok不要假定預設編碼
乙個個去試
不如一行code
關鍵**
public static final string bm="gbk"; //全域性定義,以適應系統其他部分
inputstream is;
bufferedreader br;
bw = new bufferedwriter(new outputstreamwriter(os,bm));
br = new bufferedreader(new inputstreamreader(is,bm));
bw.write(msg
);msg= new string(b,bm);
outputstream os = socket.getoutputstream();
os.write(str.getbytes(bm));
整個工程中和編碼相關的部分如上所示
效果如下
方法二:
1.伺服器端輸出時:
printwriter out = new printwriter(new bufferedwriter(new outputstreamwriter(socket.getoutputstream(),"utf-8")),true);
2.客戶端接收時:
bufferedreader in = new bufferedreader(new inputstreamreader(client.getinputstream(),"utf-8"));
string read = in.readline();
安卓中文亂碼
在安卓程式中,會出現中文亂碼問題,經分析,原因為容器的固定大小會將乙個中文字元拆開形成亂碼。比如 錯誤 fileinputstream in context.openfileinput txt int len 0 byte buf new byte 1024 stringbuilder builde...
安卓Socket開發注意事項
1 在寫 的activity裡import進socket相關的包,這個很easy,如果你不知道要import什麼包,也可以先不指定,可 以直接寫例如 socket sokt new socket 這樣的話,由於沒有匯入socket的package,所以編譯器會自動提示 你需要import某個包,然後...
安卓Socket開發注意事項
1 在寫 的activity裡import進socket相關的包,這個很easy,如果你不知道要import什麼包,也可以先不指定,可 以直接寫例如 socket sokt new socket 這樣的話,由於沒有匯入socket的package,所以編譯器會自動提示 你需要import某個包,然後...