FriendsOfCake / cakephp-csvview

CakePHP: A view class for generating CSV
MIT License
176 stars 64 forks source link

How can I output a UTF-8 CSV that Excel will read properly? #132

Open KenDzz opened 3 years ago

KenDzz commented 3 years ago

https://imgur.com/BD1V12I

$_csvEncoding= 'UTF-8';
        $_dataEncoding = 'UTF-8';
        $_newline = "\r\n";
        $_eol = "\r\n";
        $_bom = true;
        $timestamp = time();
        $this->response = $this->response->withDownload('test-'.$timestamp.'.csv');
        $this->set(compact('data', '_dataEncoding' ,'_csvEncoding', '_newline', '_eol', '_bom'));
        $this->viewBuilder()
        ->setClassName('CsvView.Csv')
        ->setOptions([
            'serialize' => 'data',
            'header' => $header,
'extract' => $extract,
]);

It doesn't work. someone please help me!

Thank you

Tatsurou-Yajima commented 1 year ago

@KenDzz How about trying to add a BOM to the CSV file?

How to do this is described in the following article.

https://yajimaga-tech-blog.vercel.app/posts/20230817

It is written in Japanese, so please translate if necessary.