CSV транспорт в Excel кодировать неправильно - PullRequest
1 голос
/ 16 февраля 2012

Что ж, Excel 2003 может открывать файлы CSV, и если разделитель является вкладкой, он может автоматически преобразовывать данные в правильные столбцы.

Что ж, проблема в символах, которые не являются символами ascii.Libreoffice открывает диалоговое окно для выбора набора символов, но в Excel 2003 этого не происходит и импортирует символы в неправильный набор символов.

<?php
$filename ="excelreport.xls";

$contents1 = "Name \t Location (where from) \t Age \t \n";
$contents = "testdata1 \t testdata2 \t testdata3 \t \n";
$problematicData = array('ä', 'ö', 'õ', 'ü');

header('Content-type: application/ms-excel');
header('Content-Disposition: attachment; filename='.$filename);

echo $contents1;
echo $contents;
echo implode(" \t ", $problematicData);

// РЕДАКТИРОВАТЬ Возможно, я обнаружил исправление, добавившее этот заголовок («Тип контента: приложениеms-excel; charset = utf-8; encoding = utf-8 ');Но я не проверял это с Excel 2003.

1 Ответ

0 голосов
/ 15 апреля 2012

Пробовал использовать вместо запятых?PHP имеет функцию fputcsv, которая легко справится с этим

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...