PHP: экспорт в CSV со специальными символами

Я пытаюсь экспортировать некоторые данные, хранящиеся в таблице, но когда я пытался экспортировать в CSV, эта буква č отображается как Ä или &# 269.

Я пытался все время utf8_decode, utf8_enconde, html_entity_decode, но не работает. Что я могу сделать?

Спасибо,
Leandro.

Дополнительная информация: Сейчас я непосредственно тестирую следующее:

$delimiter = ";";
$enclosure = '"';

header("Content-Disposition: attachment; filename=memorandos.csv");
header("Pragma: no-cache");
header("Expires: 0");
$output = fopen('php://output', 'w');

$header = array('Apellido');
fputcsv($output, $header, $delimiter, $enclosure);
$memorando = Memorando::getById(3263);
if ($memorando){
$dd = array ();
$dd[] = $memorando->apellido;   ////ON THE DATABSE IS STORED LIKE Jurič
fputcsv($output, $dd, $delimiter, $enclosure);
}

В досье я вижу этого Юрия&# 269; вместо Юрича

1

Решение

Есть много точек зрения и подходов к решению этой проблемы, вы даже можете попробовать: ISO-8859-1

Допустим, у вас есть

$input = "Fóø Bår Zacarías ?S?B?D Ferreíra"; // original text

Используйте iconv, чтобы избавиться от специальных символов

$output = iconv("utf-8", "ascii//TRANSLIT//IGNORE", $input);

Regexp позволяет удалять специальные символы utf-8, кроме пробелов

$output =  preg_replace("/^'|[^A-Za-z0-9\s-]|'$/", '', $output);

Результаты в: Foo Bar Zacarias ASABAD Ferreira

echo $output;

А где твой код? можешь поделиться?

0

Другие решения

Других решений пока нет …