java乱码问题怎么解决?

后台返回前台JSON,页面显示乱码,页面preview不显示乱码。这个怎么解决。图片说明

首先这个不算乱码,因为这是浏览器在页面上展示返回数据时,没有获取到响应体里面的编码格式,所以按照默认编码格式渲染数据了。
前端js在获取到响应数据时,应该会按照默认的utf-8的解码格式解析数据,就像你在preview中看到的数据。具体是否是乱码,需要前端使用js代码将返回数据渲染在页面上才能看出来。

方法一:设置一下浏览器编码
方法二:在controller中的@RequestMapping中加入 produces = "application/json;charset=utf-8"

<dependency>

<groupId>com.fasterxml.jackson.core</groupId>

<artifactId>jackson-databind</artifactId>

<version>2.9.8</version>

</dependency>

依赖有没有添加正确 添加这个试试

一,看看开发工具的编码,重新设置开发工具的编码试一试
二,重新设置一下浏览器的编码看看
三,重新换个浏览器看看

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>

</body>
</html>

加上第一行试试

全部统一转成utf8,这个要协调前端后端,要看前端用得是什么编码,有的用gbk ,后端返回也要在http头中标记好这是什么编码类型的数据,建议后端全部改成utf8。
注意还有就是代码使用的编码类型,如果有vscode,用vscode打开项目源码,如果发现有乱码,可以点击右下角的utf8重新选择加载编码类型,等没有乱码后再点击转换为utf8。
千万不要在乱码的时候点击转换成utf8。