一次环境变量出错导致的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乱码。

最新文章

  1. vc下打印透明背景图片
  2. jQuery中的Ajax几种请求方法
  3. javascript_basic_01之概述
  4. Oracle11g的安装和基本使用
  5. Qt5.3 打印示例时出现错误
  6. MySQL做练习时总结的一些知识点
  7. Java Api与HBase交互实例
  8. RESTful服务的版本管理经验 (转)
  9. Vim常见快捷键汇总
  10. Ubuntu下安装Pyqt4
  11. 取得GridView某行的DataKey
  12. 2018/1/9 redis学习笔记(一)
  13. 前端Blob对二进制流数据的处理方式
  14. mingw打dll ,lib包命令和调用
  15. 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 二十║Vue基础终篇:传值+组件+项目说明
  16. XVII Open Cup named after E.V. Pankratiev. GP of Siberia, Division 1
  17. OpenXC : Any updates on plans for IOS?
  18. 云笔记项目-Spring事务学习_测试准备
  19. centos服务器如何用命令查看哪个程序内存占用情况,硬盘空间占用
  20. python模块之httplib(在py3中功能进一步强大,请详看文档)

热门文章

  1. Android学习整理之Activity篇
  2. windows7,windows8 64位系统 IIS7.0配置.net网站时报错:未能加载文件或程序集“XXX”或它的某一个依赖项。试图加载格式不正确的程序。
  3. 17、docker多机网络通信overlay
  4. Android Studio Genyomtion配置
  5. Python学习-39.Python中的生成器
  6. 查看Linux服务器被映射的公网ip
  7. 使用jetty-maven-plugin运行maven多项目
  8. Python3------反射详解
  9. H5实现页面内跳转页面
  10. ASP.NET MVC 扩展HtmlHelper类为 js ,css 资源文件添加版本号