解决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");
问题解决!
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。