Bonjour,

J'ai déjà lu quelques post sur le sujet des caractères spéciaux, mais j'avoue que je patauge un peu.

Je lis un fichier avec la fonction fgetcsv(), classique :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
if (($handle = fopen($chemin_fichier, "r")) !== FALSE) {
		    while (($data = fgetcsv($handle, 10000, "\t")) !== FALSE) {
					$tab[$row]=$data;
					$row++;
			} fclose($handle);
		}
Ensuite, je copie une ligne de ce tableau dans un autre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
foreach($liste_col_affichage as $c){
			$headers[$i]=$tab_headers[$c];
			$i++;
		}
Et enfin, j'affiche le tout avec du simple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
<tr>
	  <?php foreach ($titres as $titre): ?>
      <th><?php echo($titre) ?></th>
      <?php endforeach; ?>
Mais les valeurs qui contiennent un accent dans mon fichier n'apparaissent pas!

Plus précisément, quand j'affiche le tableau des valeurs, j'ai ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<?php var_dump($titres)?>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
object(sfOutputEscaperArrayDecorator)#180 (3) { ["count":"sfOutputEscaperArrayDecorator":private]=> int(9) ["value":protected]=> array(9) { [0]=> string(7) "Libell�" [1]=> string(5) "Stock" [2]=> string(9) "Qt� conso" [3]=> string(6) "Compte" [4]=> string(16) "Caract�ristiques" [5]=> string(11) "Prix march�" ["mc"]=> string(20) "Mois de consommation" ["vs"]=> string(12) "Valeur stock" ["ps"]=> string(13) "Part du stock" } ["escapingMethod":protected]=> string(16) "esc_specialchars" }
Donc avec des point d'interrogation à la place des accents.

Mais dès que j'essaie d'afficher une valeur de ce tableau, ça me renvoie une string vide :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<?php var_dump(utf8_decode($titres[0]))?>
Le header de ma page dit que la page est encodée en utf8, mais le problème vient plutôt du php.

L'utilisation de utf_decode() ne change rien.

Est-ce que vous pouvez m'aider?

Merci