最近在进行Android开发的过程中,发现了一个问题,特意在这里记录一下。下面我来描述一下这个问题:当我在Android 4.4版本进行http get请求的时候,我的get请求链接里的中文字符串显示为???,导致服务器不能正常识别我的参数,从而使程序运行出错(并不是所有的Android设备都会出错,我的这种情况仅在Android版本为5.0以下的设备上出现了)。
具体的情况如下图:
在上图可以看出,data参数本来是一个中文字符串,但是却变成了???,导致服务器那边接受到参数不能识别。
从图中看出,我的content-type里已经包括了UTF-8编码,但是依旧显示的是乱码。一般情况下,出现这种中文乱码都是由于编码导致的。经过测试和查阅资料,我在进行我的网络请求之前,也就是在拼接我的url之前对我们的中文参数进行编码,就可以解决这个问题。
下面我把自己修改前后的代码贴出来(在进行网络请求之前的url拼接阶段):
这是之前出错的代码:
public void getAutoCompleteInfo(String data, SingleServiceState listener) {
this.listener