Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/06/2007, 12h27   #1
Membre habitué
 
Inscription : novembre 2003
Messages : 401
Détails du profil
Informations forums :
Inscription : novembre 2003
Messages : 401
Points : 107
Points : 107
Par défaut [Encodage] Php et rss

Bonjour,

J'ai mis en place un fichier xml qui permet d'alimenter un flux rss.
Or, lorsque les liens contiennent des voyelles accentuées "é" le logiciel de lecture du flux les transforme en "é".
Comment peut-on codifier le "é" pour que le logiciel ne le transforme pas ?

Merci pour vos suggestions ?
licorne est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/06/2007, 15h21   #2
Membre habitué
 
Inscription : novembre 2003
Messages : 401
Détails du profil
Informations forums :
Inscription : novembre 2003
Messages : 401
Points : 107
Points : 107
J'ajoute une précision :
j'ai fouillé sur le forum et essayé la fonction "htmlspecialchars" mais ça ne change rien.

Voici la fonction entête du fichier xml :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
function entete_flux()
{
	// Initialisation du fichier xml
	$xml = "<?xml version='1.0' encoding='iso-8859-1'?>\r\n";
	$xml .= "<rss version='2.0'>\r\n";
	$xml .= "<channel>\r\n"; 
		$xml .= "<title>Site intranet 2i2v'net</title>\r\n";
		$xml .= "<link>http:".SITE_INTRANET."</link>\r\n";
		$xml .= "<description>Dernières nouvelles</description>\r\n";
 
	return $xml;
}
Et le bout de code qui affiche les lignes :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
		// Intialise le flux
		$contenu = "<item>";
		$contenu = $contenu."\r\n";
		if(fwrite($fp,$contenu) == false)
			echo '<script>alert("detail_flux() - Echec de l\'écriture dans le fichier '.$fichier.'")</script>';
 
		$contenu = "<title>".$titre."</title>";
		$contenu = $contenu."\r\n";
		if(fwrite($fp,$contenu) == false)
			echo '<script>alert("detail_flux() - Echec de l\'écriture dans le fichier '.$fichier.'")</script>';
 
		$contenu = "<link>".$lien."</link>";
		$contenu = $contenu."\r\n";
		if(fwrite($fp,$contenu) == false)
			echo '<script>alert("detail_flux() - Echec de l\'écriture dans le fichier '.$fichier.'")</script>';
 
		$contenu = "</item>";
		$contenu = $contenu."\r\n";
		if(fwrite($fp,$contenu) == false)
			echo '<script>alert("detail_flux() - Echec de l\'écriture dans le fichier '.$fichier.'")</script>';
		fclose($fp);
Quelqu'un a-t-il une petite idée ?
licorne est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/06/2007, 16h31   #3
LLB
Membre Expert
 
Inscription : mars 2002
Messages : 946
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 946
Points : 1 085
Points : 1 085
C'est un problème d'encodage assez classique. Le "é" que tu as écrit a été écrit sur deux octets (probablement utf-8), alors qu'il est lu en iso-8859-x.

Dans le flux xml, c'est possible d'indiquer l'encodage ? (aucune idée, je ne connais pas le format).
Sinon, utilise du latin-9, ça devrait résoudre le problème.
LLB est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/06/2007, 16h55   #4
Membre habitué
 
Inscription : novembre 2003
Messages : 401
Détails du profil
Informations forums :
Inscription : novembre 2003
Messages : 401
Points : 107
Points : 107
Ok je vais essayer.

Merci.
licorne est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/06/2007, 00h29   #5
Membre confirmé
 
Avatar de zulad
 
Inscription : juin 2007
Messages : 505
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 505
Points : 292
Points : 292
la xml pur ne sera pas convertie sur tu le traite sans conversion
zulad est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h45.


 
 
 
 
Partenaires

Hébergement Web