问题描述
我在eclipse下javasocket访问unix下c写的socket哪边是服务端接收到是乱码我就把eclipse下的字符集全部改成UTF-8可还是不行我把工程拷贝到我的myeclipse下传过去的报文就是好的很纠结eclipse哪个地方难道还没有设置吗代码如下:publicstaticvoidmain(String[]args){Sockets=null;try{//创建通讯并且和主机Rock连接SocketcSocket=newSocket("192.168.0.250",8809);//打开这个Socket的输入/输出流DataOutputStreamos=newDataOutputStream(cSocket.getOutputStream());DataInputStreamis=newDataInputStream(cSocket.getInputStream());Stringpara="11117000011111111111111111001&6509910001&001&我测试192.168.01.106&";//699665CAABD7CBC4StringsMess=para;intlen=sMess.length();Stringlen_str=String.valueOf(len);System.out.println("总长度="+len);intlen_str_len=len_str.length();for(inti=0;i<4-len_str_len;i++){len_str="0"+len_str;}System.out.println("传输报文="+para+"n");StringsSend=newString(sMess.getBytes("gbk"),"GB2312");System.out.println("传输报文="+sSend+"n");Stringresponseline;byte[]buf=(len_str+"n").getBytes();os.write(buf);os.flush();buf=(sSend+"n").getBytes();os.write(buf);os.flush();responseline=is.readLine();os.close();is.close();cSocket.close();StringsStr=newString(responseline.getBytes("ISO-8859-1"),"GB2312");System.out.println("结果="+sStr);}catch(Exceptione){e.printStackTrace();}}
解决方案
解决方案二:
http://blog.csdn.net/jianw2007/article/details/3930915试试