From b6eb95349e6e339c90f8165bcd0471bd6268f8c3 Mon Sep 17 00:00:00 2001 From: Jörn Friedrich Dreyer <jfd@butonic.de> Date: Mon, 17 Dec 2012 16:23:12 +0100 Subject: fix utf8 filenames in ie download response header according to rfc5987, see http://stackoverflow.com/questions/93551/how-to-encode-the-filename-parameter-of-content-disposition-header-in-http --- lib/files.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/files.php b/lib/files.php index 152ed8f34a7..f8bae778ed2 100644 --- a/lib/files.php +++ b/lib/files.php @@ -197,7 +197,12 @@ class OC_Files { } OC_Util::obEnd(); if($zip or OC_Filesystem::is_readable($filename)) { - header('Content-Disposition: attachment; filename="'.basename($filename).'"'); + if ( preg_match( "/MSIE/", $_SERVER["HTTP_USER_AGENT"] ) ) { + header( 'Content-Disposition: attachment; filename="' . rawurlencode( basename($filename) ) . '"' ); + } else { + header( 'Content-Disposition: attachment; filename*=UTF-8\'\'' . rawurlencode( basename($filename) ) + . '; filename="' . rawurlencode( basename($filename) ) . '"' ); + } header('Content-Transfer-Encoding: binary'); OC_Response::disableCaching(); if($zip) { -- cgit v1.2.3