diff options
author | Ignace Nyamagana Butera <nyamsprod@gmail.com> | 2015-01-15 13:08:44 +0100 |
---|---|---|
committer | Ignace Nyamagana Butera <nyamsprod@gmail.com> | 2015-01-15 13:08:44 +0100 |
commit | 726679435b4330bcffe1fddd5c4eab268aba82af (patch) | |
tree | bf14a13fde46d247dd1f253cb7128120a215cba2 | |
parent | 118402cce475a6769c6afad35376eda8cd4a3c64 (diff) | |
download | csv-726679435b4330bcffe1fddd5c4eab268aba82af.zip csv-726679435b4330bcffe1fddd5c4eab268aba82af.tar.gz csv-726679435b4330bcffe1fddd5c4eab268aba82af.tar.bz2 |
bug fix filename encoding in AbstractCsv::output method
-rw-r--r-- | src/AbstractCsv.php | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/AbstractCsv.php b/src/AbstractCsv.php index 45cdefc..8f337f4 100644 --- a/src/AbstractCsv.php +++ b/src/AbstractCsv.php @@ -317,14 +317,12 @@ abstract class AbstractCsv implements JsonSerializable, IteratorAggregate if (! is_null($filename) && self::isValidString($filename)) { $filename = (string) $filename; $filename = filter_var($filename, FILTER_UNSAFE_RAW, ['flags' => FILTER_FLAG_STRIP_LOW]); - $bom = ''; - if ($this->bom_on_output) { - $bom = chr(239).chr(187).chr(191); - } header('Content-Type: application/octet-stream'); header('Content-Transfer-Encoding: binary'); - header('Content-Disposition: attachment; filename="'.$filename.'"'); - echo $bom; + header('Content-Disposition: attachment; filename="'.rawurlencode($filename).'"'); + if ($this->bom_on_output) { + echo chr(239).chr(187).chr(191); + } } //@codeCoverageIgnoreEnd $iterator->rewind(); |