关于android 使用Scoket通信中文乱码问题的解决

来源:互联网 发布:golang goroutine 编辑:程序博客网 时间:2024/06/06 04:05

问题描述:服务器:eclipse平台开发,java实现

客户端:同样是eclipse开发,android实现,两者使用scoket通信,

我在服务器端分别尝试使用utf-8格式默认的GBK发送,服务器端控制台打印输出正常,在android 平台上却总是乱码,然后用utf-8转。仍然乱码。当时我用的转换方式是String str=new String(reply.getBytes("gbk"),"utf-8");原理上是这样,我打算把接收的GBK编码的数据转换成android平台的utf-编码格式,以便于读取,但是一直不行、我查阅了一些资料,有用DataInputStream的readUTF,DataOutputStream的writeUTF这些函数,尝试了下,可能是使用方法不对等,并没有解决我的问题。我找到查看项目编码的方式右击项目,选择 properties->Resource ,服务器端和客户端的项目都是GBK的编码


可能不需要UTF-8转换,只是单纯GBK的问题。

于是 我让服务器端原样发送,只是在客户端接收的时候使用

reader = new BufferedReader(new InputStreamReader(
sk.getInputStream(), "gbk"));
问题解决