Foros del Web » Programando para Internet » PHP »

Crear fichero CSV con codificación ANSI

Estas en el tema de Crear fichero CSV con codificación ANSI en el foro de PHP en Foros del Web. Utilizo la función fputcsv para generar un fichero csv, pero al abrirlo en excell se ven mal las ñ, acentos, etc. La codificación del fichero ...
  #1 (permalink)  
Antiguo 16/06/2014, 06:32
 
Fecha de Ingreso: noviembre-2008
Mensajes: 12
Antigüedad: 15 años, 5 meses
Puntos: 0
Crear fichero CSV con codificación ANSI

Utilizo la función fputcsv para generar un fichero csv, pero al abrirlo en excell se ven mal las ñ, acentos, etc.

La codificación del fichero es utf-8, si lo abro con un editor de texto se ve correctamente. Para excel la codificación debería de ser ANSI.

Como lo genero, el código que utilizo es:

Código:
//Generamos el fichero CSV
    $out = fopen('php://output', 'w');

    foreach ($lista as $campos) {
        fputcsv($out, $campos, ';');
    }

    fclose($out);
    
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    header("Content-type: application/csv");
    header("Content-disposition: csv" . date("Y-m-d") . ".csv");
    header( "Content-disposition: filename=export.csv");
$lista es un array donde guardo toda la info que saco de una consulta a la BD
  #2 (permalink)  
Antiguo 16/06/2014, 07:47
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Crear fichero CSV con codificación ANSI

Puedes usar iconv: http://us2.php.net/manual/es/book.iconv.php
La otra opción es que eches un vistazo a este hilo en stack overflow: http://stackoverflow.com/questions/6...-automatically
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.

Etiquetas: ansi, csv, fichero
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:57.