抛个关于nginx下载文件乱码的问题

今天做项目,需要下载pdf文件,要显示中文名字,比如:服务协议.pdf

前端页面的请求是:localhost/test/test.pdf?n=服务协议

test.pdf放在nginx上

nginx添加如下配置:

location ~* /test.+\.pdf {
                root  /var/www/html/ ;
                add_header Content-Type "application/pdf; charset=utf-8";
                add_header Cache-Control "no-cache, no-store, max-age=0";
                add_header Content-Disposition "attachment;filename=$arg_n.pdf";
        }


之后再个浏览器上点击下载该文件,都可以正常下载

但是只有chrom能正确显示文件名:“服务协议.pdf”

ie显示乱码safari显示的为转义后的名字,类似:%BY%E7%8E.pdf这样的


有没有什么geek技巧可以解决这个编码问题呢

(万般无奈,我最后还是走的后端服务读取文件下载)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
nginx服务器出现乱码问题可能是由于字符集设置不正确导致的。在nginx.conf文件中,如果字符集设置为gbk,那么在访问中文目录时可能会出现乱码的情况。另外,在处理nginx文件服务器时,如果log文件中出现乱码,可以通过修改配置文件中的字符集设置来解决。例如,在fileShare.conf配置文件中,可以将字符集设置为utf-8,并添加相应的Content-Type头部信息来指定字符集为utf-8。此外,还可以通过在mime.types文件配置相应的值来解决乱码问题。综上所述,可以通过正确设置字符集来解决nginx文件服务器乱码问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [linux 或 windows下nginx文件服务器中文乱码问题已解决 failed (1113: No mapping for the Unicode ...](https://blog.csdn.net/weixin_46349692/article/details/124589116)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [处理nginx 文件服务器 ,log文件中文乱码](https://blog.csdn.net/Nightwish5/article/details/120328029)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值