php fgetcsv - problèmes d'encodage charset

À l'aide de PHP 5.3 fgetcsv fonction, je rencontre quelques problèmes en raison de l'encodage des questions. Notez que ce fichier a espagnol "spécial" caractères latins comme les accents graphiques á, é, í ï, etc...

- Je obtenir le fichier CSV exporter certaines données structurées j'ai une SEP 2008 pour Mac fichier Excel.

Si je l'ouvre avec Mac OS X TextEdit application, tout semble aller parfait.

Mais lorsque je descends de mon programme PHP et essayez de lire le fichier CSV à l'aide que fgetcsv fonction PHP, je ne suis pas arriver à lire correctement le jeu de caractères.

/**
 * @Route("/cvsLoad", name="_csv_load")
 * @Template()
 */
public function cvsLoadAction(){
    //setlocale(LC_ALL, 'es_ES.UTF-8');
    $reader = new Reader($this->get('kernel')->getRootDir().'/../web/uploads/documents/question_images/2/41/masiva.csv');

    $i = 1;
    $r = array("hhh" => $reader -> getAll());

    return new Response(json_encode($r, 200));
}

Comme vous pouvez le voir, j'ai essayé de l'utiliser également un setlocale à es_ES.UTF-8. Mais rien de le faire fonctionner.

Le lire la première partie vient ici:

public function getRow()
{
    if (($row = fgetcsv($this->_handle, 10000, $this->_delimiter)) !== false) {
        $this->_line++;
        return $this->_headers ? array_combine($this->_headers, $row) : $row;
    } else {
        return false;
    }
}

Voir ce que j'obtiens dans le $row variable après chaque ligne de lecture:

php fgetcsv - problèmes d'encodage charset

Ceux ? personnages sont censés être des voyelles avec les accents graphiques sur eux.

Aucune idée de là-bas? Serait-il fonctionner si j'ai utilisé MS Excel pour Windows? Comment puis-je savoir au moment de l'exécution exacte de l'encodage du fichier et de le définir avant de le lire?

(Pour ceux qui parlent espagnol, ne soyez pas effrayés par ces affreux médical choses dans ces textes ;)).

source d'informationauteur ElPiter