当前位置: 首页 > news >正文

Java:swagger/knife4j接口返回的json数据中文显示乱码问号???

目录

    • 问题描述
    • 问题解决
    • 参考文章

问题描述

正常接口的中文返回是正确的
而只要发生异常处理,就会使用全局统一异常处理,输出包含中文字符的json字符串,发现,全都变成了问号??????

/*** 统一异常处理*/
@ControllerAdvice
@Slf4j
public class GlobalExceptionHandler {@ExceptionHandler(value = Exception.class)public void exceptionHandler(Throwable error, HttpServletRequest request, HttpServletResponse response) throws IOException {PrintWriter writer = response.getWriter();writer.write("{\"code\":1,\"data\":null,\"msg\":\"请勿重复订阅\"}");}
}

输出如下

{"code":1,"data":null,"msg":"??????"}

问题解决

设置响应头的内容字符编码即可

// 设置响应编码
response.setContentType("application/json;charset=utf-8");PrintWriter writer = response.getWriter();
writer.write("{\"code\":1,\"data\":null,\"msg\":\"请勿重复订阅\"}");

输出如下

{"code":1,"data":null,"msg":"请勿重复订阅"}

参考文章

Servlet中使用JSON.toJSONString中文显示问号解决办法

相关文章:

  • OpenAI发布GPT-4 Mini的深度分析及中国大模型的弯道超车机会
  • 【Golang 面试基础题】每日 5 题(十)
  • 基于上云api前端开发经验教训(loading...)
  • 基于python的BP神经网络回归模型
  • RT-Thread Studio搭建 Renesa Version Board开发环境
  • Python 中数据科学和机器学习的作用
  • 如何在 SpringBoot 中优雅的做参数校验?
  • Pytorch使用教学8-张量的科学运算
  • ubuntu 22.04 安装部署gitlab详细过程
  • ubuntu新机依赖
  • [Mysql-视图和存储过程]
  • 【React】条件渲染:深入探讨高效开发技巧与最佳实践
  • Python | Leetcode Python题解之第292题Nim游戏
  • 【前端手写代码】手写Object.create
  • 在CentOS 7上安装Apache Tomcat 10.0.27
  • [Vue CLI 3] 配置解析之 css.extract
  • 【刷算法】从上往下打印二叉树
  • Android优雅地处理按钮重复点击
  • css的样式优先级
  • CSS进阶篇--用CSS开启硬件加速来提高网站性能
  • Git初体验
  • Java,console输出实时的转向GUI textbox
  • Javascript 原型链
  • js操作时间(持续更新)
  • LeetCode算法系列_0891_子序列宽度之和
  • mac修复ab及siege安装
  • node-sass 安装卡在 node scripts/install.js 解决办法
  • npx命令介绍
  • Vim 折腾记
  • 看完九篇字体系列的文章,你还觉得我是在说字体?
  • 理清楚Vue的结构
  • 浅谈JavaScript的面向对象和它的封装、继承、多态
  • 设计模式走一遍---观察者模式
  • 小程序测试方案初探
  • 用简单代码看卷积组块发展
  • media数据库操作,可以进行增删改查,实现回收站,隐私照片功能 SharedPreferences存储地址:
  • 阿里云服务器购买完整流程
  • ​​​​​​​sokit v1.3抓手机应用socket数据包: Socket是传输控制层协议,WebSocket是应用层协议。
  • ​​​​​​​ubuntu16.04 fastreid训练过程
  • ​LeetCode解法汇总2304. 网格中的最小路径代价
  • # MySQL server 层和存储引擎层是怎么交互数据的?
  • $分析了六十多年间100万字的政府工作报告,我看到了这样的变迁
  • (1)无线电失控保护(二)
  • (C语言)输入自定义个数的整数,打印出最大值和最小值
  • (Demo分享)利用原生JavaScript-随机数-实现做一个烟花案例
  • (NSDate) 时间 (time )比较
  • (vue)el-checkbox 实现展示区分 label 和 value(展示值与选中获取值需不同)
  • (动态规划)5. 最长回文子串 java解决
  • (收藏)Git和Repo扫盲——如何取得Android源代码
  • (贪心 + 双指针) LeetCode 455. 分发饼干
  • (转) Android中ViewStub组件使用
  • ***详解账号泄露:全球约1亿用户已泄露
  • .gitignore文件设置了忽略但不生效
  • .helper勒索病毒的最新威胁:如何恢复您的数据?
  • .NET Core实战项目之CMS 第十二章 开发篇-Dapper封装CURD及仓储代码生成器实现