导读 在开发过程中,大家可能遇到过这样一个小麻烦:当使用`response.setHeader()`设置文件下载时,如果文件名是中文,可能会出现乱码问题。这是...
在开发过程中,大家可能遇到过这样一个小麻烦:当使用`response.setHeader()`设置文件下载时,如果文件名是中文,可能会出现乱码问题。这是由于浏览器和服务器之间编码不一致导致的。✨
解决办法其实很简单!我们需要对文件名进行URL编码,确保浏览器能够正确解析。例如,在Java中可以这样写:
```java
String fileName = "测试文件.txt";
response.setHeader("Content-Disposition",
"attachment; filename=\"" + URLEncoder.encode(fileName, "UTF-8") + "\"");
```
通过`URLEncoder.encode()`将文件名转为UTF-8编码,就能避免乱码啦!🚀
此外,不同的浏览器对文件名的处理方式略有差异,因此兼容性也很重要。如果目标用户群体多样,建议结合多种编码方式,比如同时提供`ISO-8859-1`编码的支持。
最后,记得检查服务器端的字符集配置是否统一哦!💯
技术分享 编程技巧 文件下载