我正在使用json的排球库我已经完成了
String header=sirsak.getText().toString().replace(" ","");
Log.d("header::",header); //here sirsak is edit text***strong text***
从编辑文本中获取字符串..
并尝试与url连接
String posturl="http://54.193.70.29:8080/ghosanapatra/message/addMessageA?message=message&cId=1&heading="+header+"&eId=1&pId=268&wId=1&name=name&memberFbId=123&phone=9860327645";
StringRequest postrequest=new StringRequest(Request.Method.GET,posturl, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
pd=new ProgressDialog(GiveSujab.this);
pd.setMessage("loading.");
pd.setCancelable(false);
pd.show();
try {
JSONObject saveobj = new JSONObject(response);
String savestatus = saveobj.getString("save");
if (savestatus.equals("sucess")) {
Toast.makeText(GiveSujab.this, "", Toast.LENGTH_SHORT).show();
Intent intent=new Intent(GiveSujab.this,MainActivity.class);
startActivity(intent);
}
}catch (Exception e){
Toast.makeText(GiveSujab.this, "error", Toast.LENGTH_SHORT).show();
}
pd.dismiss();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
requestqueue.add(postrequest);
当我在EditText中键入英文文本但当我输入尼泊尔语言时不能正常工作,例如&#34;नेपाली&#34; 它表现得像 http://54.193.70.29:8080/ghosanapatra/message/addMessageA?message=message&cId=1&heading=नेपालीको&amp; eId = 1&amp; pId = 268&amp; wId = 1&amp; name = name&amp; memberFbId = 123&amp; phone = 9860327645
我该如何解决这个问题?
答案 0 :(得分:0)
这是一个编码问题,请尝试通过此错误 在做这行之前
String header=sirsak.getText().toString().replace(" ","");
这样做
System.out.println(sirsak); //watch what it outputs here
然后
System.out.println(new String(sirsak.getBytes("UTF-8"))); //watch what it outputs
或者这样做
System.out.println(new String(sirsak.getBytes("ISO-8859-1")));
其中一个应该给你正确的格式。假设
sirsak.getBytes("UTF-8")
为您提供正确的格式,只需将其重新分配给新字符串,如下所示
String newSirsak = sirsak.getBytes("UTF-8");
并在您的代码中使用它。希望你觉得这很有用。
由于
答案 1 :(得分:0)
String uri = Uri.parse(""http://54.193.70.29:8080/ghosanapatra/message/addMessageA")
.buildUpon()
.appendQueryParameter("key", "val")
.appendQueryParameter("key", "val")
.appendQueryParameter("key", "val")
.build().toString();
答案 2 :(得分:0)
你需要把.trim()只用不替换。
String header=sirsak.getText().toString().trim();
答案 3 :(得分:0)
最后我得到了代码
String header = sirsak.getText().toString();
String encode = URLEncoder.encode(header,"UTF-8");
非常简单