PHP Excel 将 false 返回到带有特殊字符的字符串

Pam*_*ela 3 php phpexcel

我有几个来自表单 ( $_POSTvar) 的字符串,其中一些带有特殊字符(ñ、á、é 等)。当我使用这些$_POST变量创建 Excel 文件时,所有单元格都会打印正确的信息,但带有特殊字符的单元格会打印FALSE.

这是一段代码:

for ($j=1; $j<$_POST["z"]; $j++) {
$fila_despacho = $j+1;  
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A'.$fila_despacho, '03') 
->setCellValue('B'.$fila_despacho, $_POST["servicio".$j])
->setCellValue('C'.$fila_despacho, trim ($_POST["comuna".$j]))
->setCellValue('D'.$fila_despacho, 1)
->setCellValue('E'.$fila_despacho, trim($_POST["nombre".$j]))
->setCellValue('F'.$fila_despacho, trim($_POST["direccion".$j]))
        ->setCellValue('G'.$fila_despacho, trim($_POST["num".$j]));    
}//endfor
Run Code Online (Sandbox Code Playgroud)

关于 UTF-8,我不知道如何检查,我是新手。你能告诉我怎么做吗?

小智 5

在设置单元格值之前更改为 UTF-8。使用utf8_encode(). 例子:

$objPHPExcel->getActiveSheet()->setCellValue('A1', utf8_encode($descripcion));
Run Code Online (Sandbox Code Playgroud)

稍后您可以保存文件,例如:

header('Content-Type: application/vnd.ms-excel;  charset=UTF-8');  
header("Content-Disposition: attachment;filename='$archivo'");
Run Code Online (Sandbox Code Playgroud)