为了账号安全,请及时绑定邮箱和手机立即绑定

在 Android doGet方法中于老师一样但仍然乱码?

doGet方法中,为什么使用了 URLEncoder.encode(name,"utf-8")进行中文转码但在手机客户端输入中文,在控制台上任然是乱码?

private void doGet(){

try {

//中文字符转码 URLEncoder.encode(name,"utf-8")

url=url+"?name="+URLEncoder.encode(name,"utf-8")+"&age="+age;

} catch (UnsupportedEncodingException e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

}

try {

URL httpUrl=new URL(url);

HttpURLConnection conn=(HttpURLConnection) httpUrl.openConnection();

conn.setRequestMethod("GET");

conn.setReadTimeout(5000);

BufferedReader reader=new BufferedReader(new InputStreamReader(conn.getInputStream()));

String str;

StringBuffer sb=new StringBuffer();

while ((str=reader.readLine())!=null) {

sb.append(str);

}


正在回答

1 回答

doGet()方法中的转码要用new string(name.getBytes("iso-8859-1"),"utf-8")

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Android中的Http通信
  • 参与学习       64671    人
  • 解答问题       306    个

了解Android-http网络编程应用,常见忘了请求相关应用

进入课程

在 Android doGet方法中于老师一样但仍然乱码?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信