文件名中含有中文的文件下载,用谷歌、火狐、搜狗等浏览器都可以正常下载,但使用Windows自带的edge浏览器下载时文件名出现乱码问题。如下:
解决方案:
在输出头中的文件名进行urlencode编码处理。例如:
header('Content-Disposition: attachment; filename='.urlencode($fielName).'.xls');
问题解决了。
另:
若打开xls文档时,提示“文件格式和扩展名不匹配。文件可能已损坏或不安全。除非您信任其来源,否则请勿打开。是否仍要打开它?”
遇到这种情况,解决方法:
1.win键+R键,打开“运行“,输入regedit打开“注册表编辑器”
2.找到HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\15.0\Excel\Security,选中“Security”
3.在右边,右击鼠标,新建 - DWORD(32位)值- 名称改为“ExtensionHardening” - 值改为0