我已经准备好了这样的socket客户端连接:
Socket socket = new Socket();
socket.setSoTimeout(500);
hostname = "XX.YY.ZZ.XX";
socket.connect(new InetSocketAddress(hostname, port), 6000);
out = new PrintWriter(new BufferedWriter(
new OutputStreamWriter(socket.getOutputStream())),
false);
in = new BufferedReader(new InputStreamReader(
socket.getInputStream()));
我使用ie代码读取数据:
if (in.ready() == true) {
String message = in.readLine();
Log.e("MyApplication", "data=" + message);
}
当我查看logcat时,我看到?字符而不是每个国家字符。 我确定发送到我的Android应用程序的数据是在utf-8字符集中因此我尝试使用这样的代码:
UTF8Str = new String(message.getBytes(),"UTF-8");
或像这样创建BufferReader:
in = new BufferedReader(new InputStreamReader(
socket.getInputStream(),"UTF-8"));
但一切都没有成功。 有人可以帮我解决问题转换字符在logcat中显示为国民(我的主要目标是在TextView中显示它们)。两周前一切都工作了,但经过一些Ecclipse重新配置(我不能回到旧设置)停止了。
〜ARTIK