因爲下載文件的名稱是通過url傳到客戶端的,url對格式的要求非常嚴格,具體如下
字母數字字符 “a” 到 “z”、”A” 到 “Z” 和 “0” 到 “9” 保持不變。
特殊字符 “.”、”-“、”*” 和 “_” 保持不變。
空格字符 ” ” 轉換爲一個加號 “+”。
除了上述三種字符,其他所有其他字符都是不安全的,因此首先使用一些編碼機制將它們轉換爲一個或多個字節。然後每個字節用一個包含 3 個字符的字符串 “%xy” 表示,其中 xy 爲該字節的兩位十六進制表示形式。推薦的編碼機制是 UTF-8。但是,出於兼容性考慮,如果未指定一種編碼,則使用相應平臺的默認編碼。
這就是爲什麼要有URLEncoder這樣的工具類了,因爲中文是三種安全字符之外的字符,不允許傳輸。你要是直接傳輸,那麼url就屏蔽掉,所以你必須轉碼