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 :
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 :
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 :
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 :
<?php var_dump($titres)?>
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 :
<?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
Partager