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

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

乱码问题

问题:

某次添加数据的时候突然发现数据某些新增数据出现???的情况,首先推测是肯定是某处编码不统一或者没有设置的原因,但编码的设置也有很多处。
+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(首先这个项目是用到了读写分离)到后面,我发现我的新增的数据在数据库没有问题但是出现了没有更新到前端去,后面打开两个虚拟机中的数据库查看数据发现读和写的两个数据库表对不上,意思就是两个表没有进行同步成功。以下就是读写分离重新同步两个数据库的方法

目录
相关文章
|
21天前
|
前端开发 JavaScript 开发工具
从前端到后端:构建现代化的全栈开发环境
在当今技术迅速发展的时代,全栈开发已成为越来越受欢迎的趋势。本文将探讨如何构建现代化的全栈开发环境,涵盖从前端到后端的各个方面,包括技术选型、开发工具、部署流程等内容,帮助开发者更高效地搭建全栈项目。
|
23天前
|
前端开发 JavaScript 关系型数据库
从前端到后端:构建现代化Web应用的技术探索
在当今互联网时代,Web应用的开发已成为了各行各业不可或缺的一部分。从前端到后端,这篇文章将带你深入探索如何构建现代化的Web应用。我们将介绍多种技术,包括前端开发、后端开发以及各种编程语言(如Java、Python、C、PHP、Go)和数据库,帮助你了解如何利用这些技术构建出高效、安全和可扩展的Web应用。
|
24天前
|
前端开发 小程序 Java
uniapp上传图片 前端以及java后端代码实现
uniapp上传图片 前端以及java后端代码实现
35 0
|
4天前
|
存储 缓存 NoSQL
Redis多级缓存指南:从前端到后端全方位优化!
本文探讨了现代互联网应用中,多级缓存的重要性,特别是Redis在缓存中间件的角色。多级缓存能提升数据访问速度、系统稳定性和可扩展性,减少数据库压力,并允许灵活的缓存策略。浏览器本地内存缓存和磁盘缓存分别优化了短期数据和静态资源的存储,而服务端本地内存缓存和网络内存缓存(如Redis)则提供了高速访问和分布式系统的解决方案。服务器本地磁盘缓存因I/O性能瓶颈和复杂管理而不推荐用于缓存,强调了内存和网络缓存的优越性。
23 1
|
3天前
|
存储 前端开发 JavaScript
从前端到后端:构建全栈应用的关键技术探究
在当今互联网时代,全栈开发已经成为了越来越多开发者的追求目标。本文将深入探讨从前端到后端构建全栈应用所需的关键技术,涵盖了前端框架选择、后端语言与框架、数据库设计以及前后端通信等方面,帮助读者全面了解全栈开发的必备技能和工具。
|
3天前
|
JSON 前端开发 Java
管理系统总结(前端:Vue-cli, 后端Jdbc连接mysql数据库,项目部署tomcat里)
管理系统总结(前端:Vue-cli, 后端Jdbc连接mysql数据库,项目部署tomcat里)
|
6天前
|
前端开发 JavaScript Java
前端与后端:构建现代Web应用的双翼
前端与后端:构建现代Web应用的双翼
|
14天前
|
移动开发 前端开发 JavaScript
亘古难题——前端开发or后端开发
亘古难题——前端开发or后端开发
|
15天前
|
存储 缓存 前端开发
前端如何利用indexDB进行数据优化
使用IndexedDB作为浏览器内置的客户端数据库,用于存储大量数据和实现离线支持。它能缓存常用数据,减少服务器请求,提高用户体验。IndexedDB支持数据索引、复杂查询及版本管理,允许离线操作并同步到服务器。但需熟悉其异步API,可借助Dexie.js、localForage等库简化使用。
|
16天前
|
存储 缓存 负载均衡
跨越界限:前端与后端的协同优化
在当今快节奏的技术环境下,前端与后端的协同优化成为了提升应用性能和用户体验的关键。本文探讨了如何通过前后端的紧密合作,实现更高效的数据传输、渲染优化以及系统性能提升,从而构建出更加流畅、响应迅速的应用程序。