Php 在导出到CSV之前,将数据转换为保留重音符号

Php 在导出到CSV之前,将数据转换为保留重音符号,php,mysql,csv,character-encoding,export-to-excel,Php,Mysql,Csv,Character Encoding,Export To Excel,使用PHP,我将查询结果导出到CSV。当数据包含重音时,我的问题就来了;它们没有正确导出,我在生成的文件中丢失了它们 我使用了utf8\u decode()函数手动转换标题,它工作得很好,但我不知道如何将其用于结果数组 谁能帮帮我 result = db_query($sql); if (!$result) die('Couldn\'t fetch records'); $fp = fopen('php://output', 'w'); if ($fp && $result)

使用PHP,我将查询结果导出到CSV。当数据包含重音时,我的问题就来了;它们没有正确导出,我在生成的文件中丢失了它们

我使用了
utf8\u decode()
函数手动转换标题,它工作得很好,但我不知道如何将其用于结果数组

谁能帮帮我

result = db_query($sql);
if (!$result) die('Couldn\'t fetch records');

$fp = fopen('php://output', 'w');
if ($fp && $result) {
 header("Content-type: application/vnd.ms-excel; charset=UTF-8");
 header('Content-Disposition: attachment; filename="adp_enigmes_data.csv"');
 header('Pragma: no-cache');
 header('Expires: 0');
 fputcsv($fp, $headerTitles);

 while ($row = $result->fetch_array(MYSQLI_NUM)) {
     // When I use utf8_decode here, I don't get any results, so I have
        // no idea where to use it!
        fputcsv($fp, utf8_decode(array_values($row)), ',', '"');
 }
 die;
}

对结果行中的所有元素应用
utf8\u decode
,只需
array\u map

fputcsv($fp, array_map('utf8_decode',array_values($row)), ',', '"');