springboot构建项目时中文乱码‘?‘

本文介绍了在Spring Boot项目中遇到的中文乱码问题,强调了在配置响应字符集时,setContentType和setCharacterEncoding的区别。错误地使用setCharacterEncoding('text/html;charset=utf=8')导致了乱码。文章提醒开发者setContentType应在请求开始时设置,并指出在大量代码中避免重复写charset设置的原因。同时,解释了CT用于定义数据格式,而CE用于设定数据来源的格式。无论顺序如何,错误的CT和CE使用都会导致乱码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述:

晚上构建springboot项目时发现老师说的什么配制application.properties文件一点用都没有,前一讲中的配置类又太麻烦,于是试着使用说response.setContentye("text/html;charset=utf-8"),结果一大意,写成了response.setCharacterEncoding("text/html;charset=utf=8"),乱码问题所有的解决方案,好家伙,一个没做成.....本篇主要讲三点

1)setContentType(以下简称CT)和setCharacterEncoding(以下简称CE)区别

2)提醒:setContenType要在你的servlet一开头写,不然字符集编码还是按照原来的编码来做,会像这样(这说明什么?这说明好事要趁早!!!学习要早学!恋爱要早谈doge)


3)提醒:有些人说为什么要是用配制类这样的麻烦方法来实现字符集的转换呢?(废话,还不是application.properties文件配置无效nt吗?!) 为什么不直接使用response.setContentType()来返回呢?很简单,当你的代码多达几十万行时.不可能每一次返回中文(基本上每一次都要)时都要写上这么一句代码,这代码一来烦,每一次都要写上,而来简直就是垃圾,没有一点技术含量.

 

原因分析:

很明显:混淆了setContentType()和setCharacterEncoding()的区别


重头戏:CT和CE的区别

我不喜欢废话,直接上精髓:

1)CT告诉浏览器你显示的数据的格式

2)request的CE设置从浏览器或者数据库中取到的数据的格式

3)如果先用了CT,再用CE,会返回乱码

先用CE再用CT,会...(还是乱码)

哎,管这么多作甚?!都给我用setContentType("违令者,斩!doge") 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Shallow_Carl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值