问题描述:
晚上构建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")?
?
|