最近在做一个android native应用,其中一个功能就是将用户收到的短信上传到服务器。在上传的时候发现如果是中文的短信服务器打印出来的短信内容是一个个的问号。开始以为是短信的接收到的时候是乱码呢。然后看到网上说用两台模拟器互相发信息,照着做了,发现确实接受到的是乱码。按照网上说的,各种转换格式,可是还是不行。后来问了一下,做了一下修改:String message = new String(msg.getDisplayMessageBody()),本以为这个时候可以了,但是发现服务器上还是不行。但是在ddms上显示的是中文了,也就是说,接受没有问题,问题在发送上了。看了下代码,觉得问题处在 se = new StringEntity(params.toString()),去网上查了一下改成 se = new StringEntity(params.toString(),HTTP.UTF-8); ok,一切搞定。刚开始的时候浪费了时间没有找到问题所在,是因为自己没有想起出将问题所小。这样子来说,上传短信这块分两步,一是:接受短信;二是上传短信;没有确定问题出现在哪里,就一直去调试找资料,很盲目,结果浪费了很多时间。所以说,遇到问题,多分析。
?