我试图在JLabel中显示从服务器收到的法语单词,但我得到的都是混乱的单词(我猜不是unicode或smth)。
InetAddress addr;
Socket sock = new Socket("192.168.0.104", 81);
addr = sock.getInetAddress();
System.out.println("Csatlakoztam:" + addr);
DataOutputStream adat = new DataOutputStream(sock.getOutputStream());
adat.write('a');
adat.flush();
BufferedReader input = new BufferedReader(new InputStreamReader(sock.getInputStream()));
p = String.valueOf(input.readLine());
sock.close();
这是我想要显示文本的方式:cp.add(new JLabel(connect()));
我得到的只是:图像
我该如何解决这个问题?
在创建InputStreamReader
时,您可能需要使用不同的Charset
。尝试:
BufferedReader input = new BufferedReader(new InputStreamReader(sock.getInputStream(), "charsetName"));
其中charsetName
是此处列出的字符集之一。