一次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数据乱码事件的更多相关文章
- springboot打war包部署tomcat服务器,以及表单提交数据乱码处理
小白觉得springboot打成jar包直接使用内嵌的tomcat或jetty容器(java -jar xxx.jar)运行项目不利于定位问题,我还是习惯于查看tomcat或nginx的日志来定位问题 ...
- 解决JSP页面获取的数据库数据乱码问题
将java项目部署到服务器,页面数据乱码: 解决:首先查看了数据库编码和jsp编码都是utf-8,说明jsp和数据库没问题,于是查看了tomcat设置的编码 没有设置编码,于是加了URIEncodin ...
- IDEA乱码Tomcat控制台乱码输出乱码报文乱码
电脑重装系统后,重新安装了最新版的IDEA 2019.2.2,出现乱码.百度了很多,慢慢的解决了乱码的问题,现记录如下.方法因人而异,不同的问题不一样的方法. 第一 修改IDEA文件编码格式 设置id ...
- jsp读取后台数据乱码
jsp读取后台数据乱码,如图所示: tomcat编码格式与项目不一致,找到config/server.xml修改为UTF-8 <Connector URIEncoding="UTF-8 ...
- Android 从网络中获取数据时 产生部分数据乱码的解决
产生部分数据乱码的解决 标签: android部分中文乱码 2014-04-12 23:24 12366人阅读 评论(10) 收藏 举报 分类: [Android 基础](15) 版权声明:本文为博主 ...
- 爬虫爬数据时,post数据乱码解决办法
最近在写一个爬虫,目标网站是:http://zx.bjmemc.com.cn/,可能是为了防止被爬取数据,它给自身数据加了密.用谷歌自带的抓包工具也不能捕获到数据.于是下了Fiddler. F ...
- Linux服务器使用命令操作MySQL插入数据乱码问题
服务器上使用MySQL命令方式进行插入数据时,很多时候会遇到插入数据乱码问题,导出一个sql执行文件,再倒入到unbutn中,结果出现乱码,折腾7-8分钟, 解决方式 在导出mysql sql执行文件 ...
- jmeter随笔(9)--有两种编码风格,导致数据乱码
问题:在一个网站,有两种编码风格,导致数据乱码 解决办法: 1.首先设置jmeter的配置文件 2.针对要求是utf-8格式的这样的请求,做单独的编码处理(beanshell处理) 3.运行,在htm ...
- Oracle 数据乱码
原文 Oracle 数据乱码 服务器配置环境变量 NLS_LANG:American_america.ZHS16GBK
随机推荐
- android public.xml 用法
一.android的pulibc.xml文件 如果你用 apktoool 反编译过 apk 就知道,反编译后res/values 下有一个 public.xml 文件,内容如图 这个东西有什么用呢 ...
- iOS Development和iOS Distribution有什么区别
http://zhidao.baidu.com/link?url=T9od33JuA7jjxzfyV-wOjuVLSNUaqpc9aoCu2HjfYfHBuRLW1CNDii0Bh9uvG6h-GeJ ...
- 如何获得 Microsoft Push Notification Service(MPNS)的最佳体验
有很多同学抱怨MPNS的各种问题,其中包括服务超时.返回各种错误代码不知如何处理等等..今天我用一点时间来为大家介绍下如何处理和操作咱们的MPNS. 首先为大家明确一个问题,Microsoft Pus ...
- 在centos docker中安装nvidia驱动
因为计算需要用到GPU加速, 今天尝试在centos 机器的Docker里安装了GTX980驱动, 记录一下详细安装过程. 首先安装Docker和镜像: sudo yum install docker ...
- WPF 最简单的TextBox水印
最简单的TextBox加水印的方法,但是不具有很强的通用性. 如果你只是使用一次,或者用的不多,偷偷懒可以使用. 因为此方法只需要修改TextBox的Template,而不用重写何任代码. 注意: 1 ...
- saprk2 structed streaming
netcat (windows) >nc -L -p 9999 import java.sql.Timestamp import org.apache.spark.sql.SparkSessio ...
- 【cocos2d-x 手游研发小技巧(7)图片资源加密,Lua文件加密】
游戏开发中常遇到资源保护的问题. 目前游戏开发中常加密的文件类型有:图片,Lua文件,音频等文件,而其实加密也是一把双刃剑. 需要安全那就得耗费一定的资源去实现它.目前网上也有用TexturePack ...
- Day71 分页,cookie and Session
cookie 是保存在客户端的键值对. cookie本身最大支持4096字节,保存在客户端的 session是保存在服务器端的键值对.(依赖cookie) cookie和session cookie的 ...
- gdb的调试常用命令
一.gdb常用的命令 list l 常看源代码 break b 设置断点 b 10(行号) b ...
- java删除字符串最后一个字符的几种方法
偶然看到的,记录一下,以免忘记 字符串:string s = "1,2,3,4,5," 目标:删除最后一个 "," 方法: 1.用的最多的是Substri ...