从服务器接收数据时使用JLabel unicode



我试图在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是此处列出的字符集之一。

最新更新