在Visiual Studio中,默认中文编码为Unicode一种,包含UTF-8\UTF-9\UTF-16等。所以如果传入的字节流不是以Unicode编码的,Visiual Studio就不认识,就产生了乱码问题。“解铃还需系铃人”,在数据传输中,解码要与编码一致,才能保证传输正确的数据。
解决办法:
1.在JAVA端使用Unicode编码。这样在解码时VS直接识别。
右键单击项目属性-Resource-Text file encoding:Eclipse默认GBK,改成Other:UTF-8。用Socket测试一下,OK~
2.在VS端设置解码规则。不用改变Java的中文编码。
StreamReader sr=new StreamReader(socket,System.Text.Encoding.Default);
System.Text.Encoding.Default.EncodingName:"简体中文(GB2312=GNK)"