我正在为 Android 和 PC 开发一个聊天应用程序,它使用套接字相互通信。问题是,虽然我需要该应用程序可以使用日语,但 Android 端会出现字符代码问题。
服务器在 PC 上工作,当所有客户端都在 PC 上时一切正常,所以我尝试在 Android 端进行所有编码/解码。在两个客户端上,我都尝试了 System.getProperty("file.encoding");
并发现 PC 使用 Shift_JIS 而 Android 使用 UTF-8。所以我做了
//on the Android output
OutputStream output = socket.getOutputStream();
PrintWriter writer = new PrintWriter(output);
writer.println(new String(msg.getBytes(), "Shift_JIS"));
writer.flush();
//on the Android input
InputStream input = socket.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(input));
String line = reader.readLine();
String lineDec = new String(line.getBytes("Shift_JIS"), "UTF-8");
但仍然遇到字符代码问题。
我已经尝试为彼此更改“Shift_JIS”和“UTF-8”但仍然没有工作......如果您有任何建议,我会很高兴。谢谢!