java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > springboot responseentity<string>乱码

解决springboot responseentity<string>乱码问题

作者:超越呦

这篇文章主要介绍了解决springboot responseentity<string>乱码问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

springboot responseentity<string>乱码

乱码

<200,{"result":"[{\"field\":\"name\",\"objectName\":\"driver\",\"defaultMessage\":\"名称不能为空!\"},{\"field\":\"address\",\"objectName\":\"driver\",\"defaultMessage\":\"系统id不能为空!\"},{\"field\":\"authcode\",\"objectName\":\"driver\",\"defaultMessage\":\"è®¤è¯ç ä¸èƒ½ä¸ºç©ºï¼\"}]"},{Connection=[keep-alive], Set-Cookie=[JSESSIONID=lUFZC2gIOg0eoUdfdmWW6KSYCP7aY8FErr6BBu9T; path=/], Content-Type=[text/plain], Content-Length=[302], X-Application-Context=[application:6060], Date=[Fri, 06 Aug 2021 01:11:25 GMT]}>

解决方法

	try
		{
			String seqResult = new String(stringResponseEntity.getBody().getBytes("ISO8859-1"),"utf-8");
			System.out.println(seqResult);//这就是UTF-8的啦
	} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		}

加 try catch是为了解决

Unhandled exception: java.io.UnsupportedEncodingException

解决乱码后

{"result":"[{\"field\":\"name\",\"objectName\":\"driver\",\"defaultMessage\":\"名称不能为空!\"},{\"field\":\"address\",\"objectName\":\"driver\",\"defaultMessage\":\"系统id不能为空!\"},{\"field\":\"authcode\",\"objectName\":\"driver\",\"defaultMessage\":\"认证码不能为空!\"}]"}

responseentity下载文件名中文乱码

SpringBoot下载文件,文件名带了中文出现乱码:

代码如下:

return ResponseEntity.ok()
	  .header("Content-disposition", "attachment;filename=" + fileName)
	  .contentLength(file.length())
	  .contentType(MediaType.parseMediaType("application/octet-stream"))
	  .body(resource);

解决办法

给文件名进行编码:

fileName = new String(fileName.getBytes("UTF-8"),"ISO-8859-1");

问题解决!

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文