java socket通信出现的乱码问题
今天解决了一个java socket通信过程中的乱码问题。解决办法就是在client, server的输入和输出流中指定charset.
Client: //输出函数 public void broadCast(String msg) {Collection col = hash.values();Iterator it = col.iterator();while (it.hasNext()) {try {Socket c = (Socket) it.next();OutputStream os = c.getOutputStream();//指定输出流的charset为"utf-8" PrintStream ps = new PrintStream(os,true,"utf-8");ps.println(msg);} catch (IOException ex) {ex.printStackTrace();}}} //输入流函数 while (true) {try { is = client.getInputStream(); //指定输入流的charset为"utf-8" br = new BufferedReader(new InputStreamReader(is,"utf-8")); msg = null;
同理server端也进行如此设置,问题就解决了。
页:
[1]