后端返回数据前端显示为问号和乱码

简介: 后端返回数据前端显示为问号和乱码

乱码问题

问题:

某次添加数据的时候突然发现数据某些新增数据出现???的情况,首先推测是肯定是某处编码不统一或者没有设置的原因,但编码的设置也有很多处。
+124.png

分析:

首先先写一条新数据,然后通过浏览器的的请求包记录查看里面的信息,确保发送回来后端的信息技术没有问题的,当时我这是没有问题的,此处不做演示了。

+125.png


然后数据去到数据库,就变成???问号,而且当输入相同数量问号会显示???已存在 ,当时就觉得很迷惑,这个意思肯定就是数据到数据库之前或者之后就已经变成???然后和数据库相同长度的???匹配了所以返回相同。
+126.png

+127.png

因此我们要先看是不是IDEA或者控制器的编码格式问题,

IDEA编码设置
+128.png
+129.png
发现没啥问题,就继续去看代码处理部分,我这后端没啥问题就没得检查了,如果你们是使用比较原始的Servlet那类的request response要注意有没有set编码。也可以在新增方法中打一个断点,看看传进来的数据是否正常。
+130.png
也没问题的话,就到数据库部分了,通常会直接去看数据库的编码格式或者建表语句中编码格式,但我的问题是之前没有问题,后面就出现了编码问题,所以排除了建表编码和数据库编码,但此处还是讲一下如何查看吧。

在IDEA中打开database,然后选中其中一个数据库右键打开可以直接查看
+131.png
+132.png然后就是数据库的建表语句了,建议用Navicat去查看,不仅打开方便,还可以更改的方便


选择对应的数据库,查看建的数据库库


SHOW CREATE DATABASE <数据库名>;




查看建表中的编码格式,也没啥问题


SHOW CREATE TABLE <表名>;  

+133.png检查到有问题的到navicat上改即可

最后面发现个很逆天也很容易被疏忽的问题,在配置中我当时就是忘了后面这个编码设置而导致数据传入数据库就开始有问题了,至此乱码的问题就解决了。

+134.png(首先这个项目是用到了读写分离)到后面,我发现我的新增的数据在数据库没有问题但是出现了没有更新到前端去,后面打开两个虚拟机中的数据库查看数据发现读和写的两个数据库表对不上,意思就是两个表没有进行同步成功。以下就是读写分离重新同步两个数据库的方法

目录
相关文章
|
24天前
|
存储 监控 安全
前端框架的数据驱动方式如何保证数据的安全性?
总之,前端框架的数据驱动方式需要综合运用多种手段来保证数据的安全性。从传输、存储、访问控制到防范攻击等各个方面进行全面考虑和实施,以确保用户数据的安全可靠。同时,不断加强安全管理和技术创新,以应对不断变化的安全挑战。
99 60
|
1月前
|
JavaScript API 开发工具
<大厂实战场景> ~ Flutter&鸿蒙next 解析后端返回的 HTML 数据详解
本文介绍了如何在 Flutter 中解析后端返回的 HTML 数据。首先解释了 HTML 解析的概念,然后详细介绍了使用 `http` 和 `html` 库的步骤,包括添加依赖、获取 HTML 数据、解析 HTML 内容和在 Flutter UI 中显示解析结果。通过具体的代码示例,展示了如何从 URL 获取 HTML 并提取特定信息,如链接列表。希望本文能帮助你在 Flutter 应用中更好地处理 HTML 数据。
113 1
|
2月前
|
监控 JavaScript 前端开发
前端的混合之路Meteor篇(六):发布订阅示例代码及如何将Meteor的响应数据映射到vue3的reactive系统
本文介绍了 Meteor 3.0 中的发布-订阅模型,详细讲解了如何在服务器端通过 `Meteor.publish` 发布数据,包括简单发布和自定义发布。客户端则通过 `Meteor.subscribe` 订阅数据,并使用 MiniMongo 实现实时数据同步。此外,还展示了如何在 Vue 3 中将 MiniMongo 的 `cursor` 转化为响应式数组,实现数据的自动更新。
|
2月前
|
JSON 分布式计算 前端开发
前端的全栈之路Meteor篇(七):轻量的NoSql分布式数据协议同步协议DDP深度剖析
本文深入探讨了DDP(Distributed Data Protocol)协议,这是一种在Meteor框架中广泛使用的发布/订阅协议,支持实时数据同步。文章详细介绍了DDP的主要特点、消息类型、协议流程及其在Meteor中的应用,包括实时数据同步、用户界面响应、分布式计算、多客户端协作和离线支持等。通过学习DDP,开发者可以构建响应迅速、适应性强的现代Web应用。
|
2月前
|
JavaScript 前端开发 Python
django接收前端vue传输的formData图片数据
django接收前端vue传输的formData图片数据
58 4
|
2月前
|
前端开发 小程序 Java
java基础:map遍历使用;java使用 Patten 和Matches 进行正则匹配;后端传到前端展示图片三种情况,并保存到手机
这篇文章介绍了Java中Map的遍历方法、使用Pattern和matches进行正则表达式匹配,以及后端向前端传输图片并保存到手机的三种情况。
25 1
|
1月前
|
JSON Dart 数据格式
<大厂实战场景> ~ flutter&鸿蒙next处理后端返回来的数据的转义问题
在 Flutter 应用开发中,处理后端返回的数据是常见任务,尤其涉及转义字符时。本文详细探讨了如何使用 Dart 的 `dart:convert` 库解析包含转义字符的 JSON 数据,并提供了示例代码和常见问题的解决方案,帮助开发者有效处理数据转义问题。
128 0
|
2月前
|
NoSQL 前端开发 MongoDB
前端的全栈之路Meteor篇(三):运行在浏览器端的NoSQL数据库副本-MiniMongo介绍及其前后端数据实时同步示例
MiniMongo 是 Meteor 框架中的客户端数据库组件,模拟了 MongoDB 的核心功能,允许前端开发者使用类似 MongoDB 的 API 进行数据操作。通过 Meteor 的数据同步机制,MiniMongo 与服务器端的 MongoDB 实现实时数据同步,确保数据一致性,支持发布/订阅模型和响应式数据源,适用于实时聊天、项目管理和协作工具等应用场景。
|
2月前
|
存储 前端开发 API
前端开发中,Web Storage的存储数据的方法localstorage和sessionStorage的使用及区别
前端开发中,Web Storage的存储数据的方法localstorage和sessionStorage的使用及区别
110 0
|
2月前
|
前端开发 JavaScript Java
导出excel的两个方式:前端vue+XLSX 导出excel,vue+后端POI 导出excel,并进行分析、比较
这篇文章介绍了使用前端Vue框架结合XLSX库和后端结合Apache POI库导出Excel文件的两种方法,并对比分析了它们的优缺点。
643 0

热门文章

最新文章