Rumah  >  Artikel  >  hujung hadapan web  >  JQuery secara tak segerak mendapatkan penyelesaian kepada nilai pulangan Cina yang kacau-bilau_jquery

JQuery secara tak segerak mendapatkan penyelesaian kepada nilai pulangan Cina yang kacau-bilau_jquery

WBOY
WBOYasal
2016-05-16 16:17:151025semak imbas

Menggunakan jqgrid untuk mendapatkan nilai senarai secara tidak segerak, saya menghadapi masalah Data yang diperolehi oleh pelayan daripada pangkalan data tidak mempunyai aksara Cina yang kacau (log ditaip tanpa aksara yang kacau), tetapi apabila ia dihantar secara tidak segerak kepada pelanggan. , watak bercelaru muncul. Bahagian pelayan telah dikodkan (pengekodan UTF-8). Pada mulanya, saya selalu mengesyaki bahawa ia adalah masalah dengan klien Sebagai contoh, pengekodan antara klien dan pelayan adalah tidak konsisten. Saya juga mengesyaki bahawa fungsi alat jqGrid tiada contentType: "application/x-www-form-. urlencoded; charset=utf-8", dsb. dan lain-lain soalan.

Keputusannya adalah tidak, dan saya bergelut selama beberapa jam Kemudian, selepas diingatkan oleh Daniel, saya mendapati bahawa kod asal masih berada di bahagian pelayan, dan ia adalah satu kesilapan.

@RequestMapping(value = "/searchUserList.form")
  @ResponseBody
  public void searchUserList(int page, int rows, HttpServletRequest request, HttpServletResponse response) throws IOException{
    System.out.println("idcard="+idCard+"\n page="+page+"\n rows="+rows);
 
    List<User> list = userService.findByIDCard(idCard);
     
    int totalRecord = list.size();
    int totalPage = totalRecord%rows == 0 &#63; totalRecord/rows : (totalRecord/rows+1);
     
    int index = (page-1)*rows;
    int pageSize = rows;
     
    String json = "{\"total\": \""+totalPage+"\", \"page\": \""+page+"\", \"records\": \""+totalRecord+"\", \"rows\": ["; 
    for (int i = index; i < pageSize + index && i<totalRecord; i++) { 
      User u = list.get(i);
      json += "{\"id\":\"" + u.getUserId() + "\",\"userName\":\""+u.getUserName()+"\",\"idCard\":\""+
      u.getIdCard() +"\",\"userTel\":\""+u.getUserTel()+"\",\"userSex\":\""+u.getUserSex()+
      "\",\"bankCard\":\""+u.getBankCard()+"\",\"cardStatus\":\""+u.getCardSatus()+"\",\"createTime\":\""+
      u.getCreateTime()+"\"}";
      if (i != pageSize + index - 1 && i != totalRecord - 1) { 
        json += ","; 
      } 
    } 
    json += "]}";
    request.setCharacterEncoding("utf-8"); //这里不设置编码会有乱码
    response.setContentType("text/html;charset=utf-8");
    response.setHeader("Cache-Control", "no-cache"); 
    PrintWriter out = response.getWriter(); //输出中文,这一句一定要放到response.setContentType("text/html;charset=utf-8"), response.setHeader("Cache-Control", "no-cache")后面,否则中文返回到页面是乱码 
    out.print(json.toString());
    out.flush();
    out.close();
  }
Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn