Hugo Future Imperfect Slim

Blackdiz's Garage

心得、筆記、雜記

1 分鐘

朋友遇到一個問題是如果檔名有中文,在瀏覽器下載時檔名會變成亂碼。

首先,瀏覽器是用 header 中的 Content-Disposition=attachment;filename=${檔名} 做為預設的下載檔名,但 header 中並不支援 UTF-8 編碼,所以如果在程式中直接拿中文檔名放在 filename 中就會變成亂碼。

解決方法是先把檔名 encode 成 URL-encoded 編碼,在 Java 中可以用 URLEncoder 處理:

response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8");

如果有什麼想法或需要指正的地方,歡迎您留言或來信 😄

說些甚麼

留言

最新文章

分類

關於

I'm so weak, so I learn from every master for things that I don't know