Android 以Get方法向服务器提交数据,参数里含有中文
action=BasicOperate&table=WorkCheck&methord=InsertData&field=UserName^MorningToWorkTi...
action=BasicOperate&table=WorkCheck&methord=InsertData&field=UserName^MorningToWorkTime^MorningToWorkAddress^MorningOffWorkTime^MorningOffWorkAddress^AfternoonToWorkTime^AfternoonToWorkAddress^AfternoonOffWorkTime^AfternoonOffWorkAddress^Remark^UserNameTime&values=zhangjun^2014-12-22 09:21:34^2014-12-22 09:21:34^上午下班地点^上午下班地点^2014-12-22 09:21:34^下午上班地点^2014-12-22 09:21:34^下午下班地点^备注^zhangjun2014-12-22 09:21:43
手机客户端向服务器提交数据时,由于Get参数有中文,导致连接服务器有异常,异常显示为存在非法字符。
后来想想应该是编码的原因GB与UTF。但我必须提交中文数据,该怎么做呢?
思路给我,步骤我自己来。谢谢,验证通过给你分 展开
手机客户端向服务器提交数据时,由于Get参数有中文,导致连接服务器有异常,异常显示为存在非法字符。
后来想想应该是编码的原因GB与UTF。但我必须提交中文数据,该怎么做呢?
思路给我,步骤我自己来。谢谢,验证通过给你分 展开
3个回答
2015-08-01
展开全部
可以用Get方式实现;
方法:通过拼接url在url后添加相应的数据,如:http://IPvideonews/GetInfoServlet?title=霍比特人&timelength=100;
缺点:通过Get方式提交数据只能发送2K以内的数据,适合发送容量较小的数据,另外,如果发送的数据是中文,则需要对url和服务器端做相应的乱码处理(设置能显示中文的编码方式),否则会产生乱码问题。
处理方式如下:
追问
谢谢。
展开全部
URL url = new URL(PATH);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setConnectTimeout(5000);
conn.setDoOutput(true);
conn.setRequestMethod("GET");
conn.connect();
// 设置参数
PrintWriter out = new PrintWriter(conn.getOutputStream());
out.print("cmd=" + cmd + "&uid=" + username + "&login=" + pwd);
追问
谢谢您的回答,但我觉得用URLEcode.encode("参数值","utf8")更加快捷;
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你试试用URLEcode转码试试
追问
十分感谢你的指明,通过URLEcode.encode("参数值","utf8"),我成功解决了问题。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询