云计算百科
云计算领域专业知识百科平台

Filter链顺序翻车实录:一个中文乱码问题,让我在测试部门口站了两小时

作者:不想打工的码农 原创手记|血泪排查|拒绝Ctrl+C/V (附:Tomcat 9.0.85 + Servlet 4.0 真实环境验证)


🌧️ 那个被测试妹子“堵门”的下午

“哥!用户昵称带中文的全变???了!线上复现!” 测试小妹举着手机站我工位前,屏幕截图刺眼: {\”nickname\”:\”???\”} 我后背一凉——这需求昨天刚上线,我亲手测的啊!

翻遍JSP、数据库、Nginx,编码全是UTF-8… 直到她幽幽补刀:“只有提交表单时乱码,URL传参正常\” 我手一抖,咖啡洒了半键盘。


🔍 排查流水账(带真实日志)

第一回合:甩锅数据库?❌

SELECT HEX(nickname) FROM user WHERE id=1001;
— 结果:E4B8ADE69687 → UTF-8编码的“中文”!数据库没问题!

测试妹子冷笑:“哥,日志里存的也是乱码哦~\”

第二回合:甩锅Tomcat?❌

server.xml 确认三遍:

<Connector port=\”8080\” URIEncoding=\”UTF-8\” useBodyEncodingForURI=\”true\”/>

Postman直连接口:中文正常! 问题锁定:前端→后端链路

第三回合:Arthas神助攻!✅

# 监控Filter执行时的request参数
watch javax.servlet.Filter doFilter \'{params[0].getParameter(\”nickname\”)}\’ -x 3

赞(0)
未经允许不得转载:网硕互联帮助中心 » Filter链顺序翻车实录:一个中文乱码问题,让我在测试部门口站了两小时
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!