提问人:Papel 提问时间:12/8/2020 最后编辑:Papel 更新时间:12/8/2020 访问量:217
Android 应用程序中非英语字符的 Json 值错误
Json value error for Non-English character in Android App
问:
我想从我的 JSON 文件中在我的应用程序中显示非英语字符,例如孟加拉语或阿拉伯语,但它在我的应用程序中显示垃圾文本,但英语文本效果很好,那么如何在 Android Studio 中解决这个问题?提前致谢!
这是我的代码,但是当我运行我的应用程序时,一切正常,但没有显示我自己的文本,它不是英语文本,其他母语文本。
private void loadData() {
StringRequest stringRequest = new StringRequest(Request.Method.GET, jsonURL, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONObject jsonObject = new JSONObject(response);
JSONArray jsonArray = jsonObject.getJSONArray("leader");
for (int i=0; i<jsonArray.length(); i++){
JSONObject recieveData = jsonArray.getJSONObject(i);
//.getBytes("ISO-8859-1"), "UTF-8")
LeaderModel items = new LeaderModel(
recieveData.getString("url"),
recieveData.getString("name"),
recieveData.getString("title"),
recieveData.getString("description")
);
leaderListItems.add(items);
}
leaderAdapter = new LeaderAdapter(leaderListItems, getApplicationContext());
recyclerView.setAdapter(leaderAdapter);
}catch (JSONException e){
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(LeaderMainPage.this, "Server error!", Toast.LENGTH_LONG).show();
}
});
RequestQueue queue = Volley.newRequestQueue(this);
queue.add(stringRequest);
}
答:
0赞
Papel
12/8/2020
#1
我刚刚在我的公共 void onResponse(){} 方法中使用此代码行解决了这个问题,并且效果很好。
if (response != null){
try {
response=new String(response.getBytes("ISO-8859-1"), "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
评论