解决springboot responseentity<string>乱码问题

 更新时间:2024年07月09日 14:48:48   作者:超越呦  
这篇文章主要介绍了解决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");

问题解决!

总结

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

相关文章

  • Spring框架JavaMailSender发送邮件工具类详解

    Spring框架JavaMailSender发送邮件工具类详解

    这篇文章主要为大家详细介绍了Spring框架JavaMailSender发送邮件工具类,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-04-04
  • MyBatis-Plus多表联合查询并且分页(3表联合)

    MyBatis-Plus多表联合查询并且分页(3表联合)

    这篇文章主要介绍了MyBatis-Plus多表联合查询并且分页(3表联合),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • mapper接口注入两种方式详解

    mapper接口注入两种方式详解

    这篇文章主要介绍了mapper接口注入两种方式详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • Java基础之Comparable与Comparator概述

    Java基础之Comparable与Comparator概述

    这篇文章主要介绍了Java基础之Comparable与Comparator详解,文中有非常详细的代码示例,对正在学习java基础的小伙伴们有非常好的帮助,需要的朋友可以参考下
    2021-04-04
  • Jenkins的安装配置详解

    Jenkins的安装配置详解

    这篇文章主要介绍了Jenkins的安装配置详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • Java中的CountDownLatch源码解析

    Java中的CountDownLatch源码解析

    这篇文章主要介绍了Java中的CountDownLatch源码解析,CountDownLatch类是一个同步辅助装置,允许一个或多个线程去等待直到另外的线程完成了一组操作,需要的朋友可以参考下
    2023-12-12
  • java输出数组的实现方式

    java输出数组的实现方式

    数组输入输出对初学者较复杂,可使用单个元素输出或Arrays.toString()方法输出整个数组,后者需传入数组参数,简化打印过程
    2025-07-07
  • mybatis/mybatis-plus模糊查询语句特殊字符转义拦截器的实现

    mybatis/mybatis-plus模糊查询语句特殊字符转义拦截器的实现

    在开发中,我们通常会遇到这样的情况。用户在录入信息是录入了‘%’,而在查询时无法精确匹配‘%’。究其原因,‘%’是MySQL的关键字,如果我们想要精确匹配‘%’,那么需要对其进行转义,本文就详细的介绍一下
    2021-11-11
  • JAVA提高第九篇 集合体系

    JAVA提高第九篇 集合体系

    这篇文章主要为大家详细介绍了JAVA提高第九篇集合体系的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10
  • 详解定时任务框架Quartz的使用

    详解定时任务框架Quartz的使用

    Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,完全由Java开发,可以用来执行定时任务,本文就来带大家聊聊它的具体使用
    2023-02-02

最新评论