Tomcat   发布时间:2022-05-15  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了一次tomcat数据乱码事件大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

一次环境变量出错导致的tomcat数据乱码事件

1.1 事件起因

由于业务的调整,我们需要将在A服务器上的后台系统迁移到B服务器上的后台,我们选择在下班后进行迁移,因为那个时间点,后台系统已经几乎没有人在使用了。我将原来的tomcat 暂停后,压缩打包后上传在到B的服务器,然后我在B服务器上启动该项目,项目是正常启动了,整个访问也是没有问题,但是后台返回的数据是乱码的。 注意,我整个操作是在我们的堡垒机上面进行的,就是因为通过堡垒机登录的,所以导致后面出现问题。

1.3 事件的错误

排查思路,tomcat启动日志中是否有异常,环境变量是否有异常?
在查看日志中发现是没有异常的,然后我通过xsHell 去查看环境变量也是没有异常的(我为什么不直接在堡垒机上查看)。
最后在多次尝试中,发现通过堡垒机登录B服务器时的环境变量中的 LANG 变量为空 ,正常这个地方是有值的,所以问题就是这个了。

1.4 事件的解决办法

 解决办法1(临时):export LANG="en_US.UTF-8"
 解决办法2(永久):  编辑登录用户的家目录的 .bashrc 文件,在底部加上 
export LANG="en_US.UTF-8"
    ```
这样我们每次登录就会自动设置导入该值了。
### 1.5 问题引申 
   我们在tomcat 的server.xml 文件里面有个参数为 URIEncoding ,这个值默认为 UTF-8 的,但是如果我们在org.apache.catalina.StriCT_SERVLET_COMPLIANCE 将system property 设置为true,那么url编码就使用ISO-8859-1.可能导致的url乱码。

大佬总结

以上是大佬教程为你收集整理的一次tomcat数据乱码事件全部内容,希望文章能够帮你解决一次tomcat数据乱码事件所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: