Skip to content

Commit

Permalink
Remove use of utf8_encode (deprecated in PHP 8.2)
Browse files Browse the repository at this point in the history
  • Loading branch information
sammarshallou authored and matthewhilton committed Jul 29, 2024
1 parent f024f8e commit 268d3df
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion classes/local/store/s3/client.php
Original file line number Diff line number Diff line change
Expand Up @@ -667,7 +667,13 @@ private function get_nice_filename($headers) {

if (!empty($originalfilename)) {
$result['Content-Disposition'] = $contentdisposition;
$result['filename'] = 'filename="' . utf8_encode($originalfilename) . '"';
// The filename parameter must be in ISO-8859-1, however it works in browsers if
// you treat the original UTF-8 string as ISO-8859-1 characters. To achieve that
// here, we encode the UTF-8 as if it were ISO-8859-1. This behaviour is hideous
// so it would be nice to use the optional filename* field (RFC 5987) but S3 still
// complains if we do that.
$jankyfilename = \core_text::convert($originalfilename, 'ISO-8859-1');
$result['filename'] = 'filename="' . $jankyfilename . '"';
$result['Content-Type'] = $originalcontenttype;
}
}
Expand Down

0 comments on commit 268d3df

Please sign in to comment.