作者:Hykun | 来源:互联网 | 2023-09-04 18:45
场景SpringBoot项目,在IDEA中启动,访问界面,无乱码
场景2(springboot项目,打成war包,发送到本地tomcat,启动访问接口,乱码
分析问题:
1、既然查询的结果在IDEA中显示正常,就说明,数据在数据库中存储的OK(不存在编码的问题)
数据库: couchdb
2、会不会是SpringBoot配置文件中没有配置编码呢?
application.properties :
spring.http.encoding.charset=utf-8 spring.http.encoding.enabled=truespring.http.encoding.force=true
验证发现这不是SpringBoot项目配置的问题
3、会不会是tomacat的问题呢?
既然在IDEA中启动没问题,说明SpringBoot(自身内嵌tomcat web执行容器)是没有嫌疑的,那为什么放在本地tomcat下跑就中文乱码了呢?
配置tomcat编码
server.xml
连接器端口=' 8080 '协议=' http/1.1 '连接时间out=' 600000 ' max threads=' 150 ' redirect port=' 8444 '
我试过了,这没什么蛋用的。 我的tomcat可能很顽固。 另外,同样的配置,鸡蛋用的也没有什么
连接器端口=' 8080 '协议=' http/1.1 '连接时间out=' 600000 ' max threads=' 150 ' redirect port=' 8444 '
4、反正肯定是tomcat有问题,你负责跑我的项目,出问题了,不找你找谁?
解决方案:
修改bin/catalina.bat,添加一行配置
set Java _ opts=-xms 512 m-xmx 1024 m-xx : maxperm size=1024 m-dfile.encoding=utf-8
最后,解决乱码问题:
注意:此更改方法适用于linux系统。 在Windows上使用时,启动tomcat时控制台输出的中文会乱码如下
两个都是美丽的方法,所以请自己搜索解决!