【SpringMVC】SpringMVC返回中文数据到前台界面出现乱码,SpringMVC接收中文字符串产生乱码

                              SpringMVC返回中文数据到前台界面出现乱码

   1、当使用 SpringMVC在Controller里直接返回中文字符串时,有可能在前端显示乱码。

  解决方案:

       后台Controller中对传回的中文字进行URL编码

@RequestMapping("/handleStudent.do")
	public @ResponseBody String handleStudent(String oper, Student student, String id[])
			throws UnsupportedEncodingException {
		String temp = studentService.handleStudent(oper, student, id);
		// 对传回的中文字符串进行编码
		return URLEncoder.encode(temp, "UTF-8");
	}

      前台界面中对接收到的字符串进行URL解码

decodeURIComponent(response.responseText)

   此时中文乱码问题就解决啦。

2、当使用 SpringMVC在Controller里接收中文字符串时,有可能也会显示乱码。

    解决方案:

        尝试进行编码格式转换,需要将字符串转化为字节数组,在字节层面完成编码格式转换后生成新的字符串。

    

	@RequestMapping("/findsome.do")
	public @ResponseBody StudentQuery findStudentsByPage(Boolean _search, String filters, int page, int rows)
			throws UnsupportedEncodingException {
		if (filters != null) {
			// 转码
			filters = new String(filters.getBytes("ISO-8859-1"), "UTF-8");
			System.out.println(filters);
		}
		return studentService.findStudentsByPage(_search, filters, page, rows);

	}

猜你喜欢

转载自blog.csdn.net/qq_33591903/article/details/81260698