最近遇到一个问题,下载附件功能,在iOS手机上,名称显示是url encode之后的名字。
%E8%82%B2%E5%84%BF%E5%81%87%E5%81%87%E6%9C%9F%E9%A2%9D%E5%BA%A6%E7%94%B3%E8%AF%B7%E6%A8%A1 2
但是在PC端,却能正常显示decode的中文。 好在,我看了几个项目在iOS端的下载后发现,有些项目的下载,是能正确显示中文文件名的。这意味着,名称乱码的问题,是可解的。 抓包对比一下两者的响应头,我发现了不同。
Content-dispositon: attachment;flename*=utf-8"2024082320240923%E8%80%B%A4%E6%98%8E%E7%BB%86.xsx
content-dispositon: attachment; filename="9E896829%6B29%E59%84%6BF9E5%6196876879%E6%9C99F9%E99A29%9D9E59%BA9A6%E796949%B39%E8%AF9%B79%E6%A8%A 1.XSX
区别就在于filename后面那几个字符。
有了方向,这时候在网上搜索,很快就能搜出原因了。 www.cnblogs.com/zhengxl5566…