新手,并不知道如何描述,有點亂,不好意思。
安卓使用json在客戶端和服務器端傳中文出現亂碼,服務器端除錯過,中文已經正常顯示,但是傳給客戶端時還是中文亂碼,中文的地方都是???號
代碼如下,僅貼了部分代碼
protected void onCreate(Bundle savedInstanceState) {
list = new ArrayList<SuYuan>();
gv = (GridView)findViewById(R.id.suyuan_gridview);
myAdapter = new MyAdapter();
gv.setAdapter(myAdapter);
Intent intent = getIntent();
Bundle bundle = intent.getExtras();
no = bundle.getString("str");
}
String doGetShuYuanMsg(String url){
List<NameValuePair> list = new ArrayList<NameValuePair>();
NameValuePair p = new BasicNameValuePair("no",no);
list.add(p);
String msg = HttpUtil.doPost(url, list);
return msg;
}
class MyTask extends AsyncTask<String, Integer, String>{
@Override
protected void onPostExecute(String result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
Gson gson = new Gson();
Type type = new TypeToken<List<SuYuan>>(){}.getType();
list = gson.fromJson(result, type);
myAdapter.notifyDataSetChanged();
}
}
class MyAdapter extends BaseAdapter{
@Override
public int getCount() {
// TODO Auto-generated method stub
return list.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
SuYuan s = list.get(position);
tv1.setText(s.getNo());
tv2.setText(s.getType());
tv3.setText(s.getPlace());
tv4.setText(s.getEnterprise());
tv5.setText(s.getMaintainer());
tv6.setText(s.getChecker());
tv7.setText(s.getGrade());
tv8.setText(s.getBatch());
}
uj5u.com熱心網友回復:
http的頭資訊設定一下編碼格式,一般都是utf-8,一般亂碼都是因為編碼不一致造成的uj5u.com熱心網友回復:
在服務端么?
uj5u.com熱心網友回復:
在你寫的Android端,在發送http請求以前,對httpget或者httppost設定header里面的編碼格式uj5u.com熱心網友回復:
為什么不用socket傳輸呢?轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/140329.html
標籤:Android
下一篇:微信小程式直播傳染失敗,
