æøå在csv出口

问题描述 投票:0回答:1

我正在尝试将一些数据导出到我可以下载的CSV文件中。

如果我在邮递员中点击我的API,数据看起来很好:

Notat,Vare,Type,Størrelse,Tekst,Antal,Pris,Rabatprocent,Totalbeløb,Fakturerbar,"Lever nu",Faktureret,Lagersted,Placering,Lagerstyring
,,,,"Fadol 0,5 - 6 stk. ",4,,"0,00",1000,Checked,0,"0,00",,,Intet
,,,,"Classic 0,5",34,,"0,00",1700,Checked,0,"0,00",,,Intet
,,,,"Classic 0,5 - 6 stk ",3,,"0,00",750,Checked,0,"0,00",,,Intet
,,,,"Grimbergen 0,3",6,,"0,00",240,Checked,0,"0,00",,,Intet
,,,,"Nordic flaske ",0,,"0,00",0,Checked,0,"0,00",,,Intet
,,,,Kildevand,109,,"0,00",2160,Checked,0,"0,00",,,Intet
,,,,"Smirnoff 6 stk",0,,"0,00",0,Checked,0,"0,00",,,Intet
,,,,"Sæson 0,3",2,,"0,00",80,Checked,0,"0,00",,,Intet
,,,,"Sodavand 0,3",5,,"0,00",150,Checked,0,"0,00",,,Intet
,,,,"Sodavand 0,5",102,,"0,00",4040,Checked,0,"0,00",,,Intet
,,,,"Fadøl 0,5",20,,"0,00",1000,Checked,0,"0,00",,,Intet
,,,,"Kop varme drikke",17,,"0,00",255,Checked,0,"0,00",,,Intet

但是当我下载后打开CSV文件时,它会将Størrelse显示为StÃrrsese。它在邮递员中工作正常,但在实际的CSV文件中没有。有人可以指出我正确的方向我的问题是什么?

这是我创建导出的代码:

//Open file pointer.        
        $fp = fopen('php://output', 'w');

        //Loop through the associative array.
        foreach($sortedData as $row){
            //Write the row to the CSV file.

            fputcsv($fp, $row);
        }

        //Finally, close the file pointer.
        fclose($fp);

        $response = $response->withHeader('Content-Type', 'text/csv; charset=utf-8');
        $response = $response->withHeader('Content-Disposition', 'attachment; filename="file.csv"');

        $stream = fopen('php://memory', 'r+');      

        return $response->withBody(new \Slim\Http\Stream($stream));
php csv slim
1个回答
0
投票

取决于编码类型。我遇到了与csv文件类似的问题。我将行转换为“ISO-8859-1”(对于德语字符)。

 iconv(mb_detect_encoding($text), "ISO-8859-1", $text);
© www.soinside.com 2019 - 2024. All rights reserved.