PHP:使用特殊字符导出为CSV

时间:2015-03-10 20:51:15

标签: php csv export character

我正在尝试导出存储在表格中的一些数据但是当我尝试导出到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);
}

在文件中,我看到了这个Jurič而不是Jurič

1 个答案:

答案 0 :(得分:0)

处理这个问题有很多角度和方法,你甚至可以尝试: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;

你的代码在哪里?你可以分享吗?