8768 sujets

Développement web côté serveur, CMS

Bonjour,

J'ai un problème d'affichage avec des noms de fichier, je m'explique: je récupère automatiquement des pièces jointes d'une boite mail sur mon serveur puis via PHP j'affiche le nom des fichiers ainsi récupérés. Le problème vient des noms comportant des apostrophes: impossible de les afficher correctement.
Je suis obligé des les ré-encoder en UTF-8 ( utf8_encode() ), ça fonctionne pour les accents. J'ai tenté de combiner utf8_encode et addslahes() mais ça marche pas Smiley decu .


<?php

$dossier = dir("filesGmail");
$n=0;
$sortie="";

while(false !== ($fichier = $dossier ->read()))
{
	$n++;
	if( $n>2)
	{
		$fichier=utf8-encode(addslashes($fichier));
		$sortie=$sortie.'<li>'.$fichier.'</li>';
	}
}
$dossier->close();

if($n>2)
{
	echo '<ul>'.$sortie.'</ul>';
}
else
{
	echo 'Pas de nouveaux fichiers!';
}

?>


Merci par avance.

Laurent
Salut,
Peut-être en "forçant" l'encodage avec quelque chose du genre?

$fichier = str_replace("'",'&#39;',$fichier);
Salut!

Alors, j'ai copié le caractère de m... qui s'affichait à la place de l'apostrophe la source de la page et j'ai fait:


$fichier = str_replace("caractère de m...",'&#39;',$fichier);


Ce caractère s'affiche comme "PU2" dans notepad++, en tout cas à l'affichage ça marche, mais quand je repasse le nom de fichier au serveur en php, il ne le reconnait pas. Bref, je vais arreter de me prendre la tête, je pense utiliser la clé du tableau renvoye par "scandir" pour identifer mes fichiers.

Merci quand même de ton aide!

Edit:
Non mais non en fait, je deviens fou Smiley nut : l'apostrophe du fichier en question n'est pas visiblement une apostrophe: j'ai modifié le nom du fichier directement sur le serveur en ré écrivant l'apostrophe et ça fonctionne avec un simple utf8_encode(). 1 journée entière de perdue nindidiou!!
Modifié par LaurentMe (24 Jun 2019 - 22:40)
LaurentMe a écrit :

Edit:
Non mais non en fait, je deviens fou Smiley nut : l'apostrophe du fichier en question n'est pas visiblement une apostrophe: j'ai modifié le nom du fichier directement sur le serveur en ré écrivant l'apostrophe et ça fonctionne avec un simple utf8_encode(). 1 journée entière de perdue nindidiou!!

Les joies de l'informatique! Smiley lol