Caractères accentués

WRInaute occasionnel
Bonjour,

J'ai un problème de caractère accentué que je n'arrive pas à résoudre.

Fichier product.xml:
Code:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<products>
<product>
<nom><![CDATA[Chaussures de Volley]]></nom>
<descriptif><![CDATA[Conçu pour l'initiation au Volley ball en salle. - Chaussures de Volley   - V300 homme]]></descriptif>
</product>
<product>
<nom><![CDATA[Shorts de Volley Homme]]></nom>
<descriptif><![CDATA[Conçu pour la pratique du Volley Ball. - Débardeurs de Volley Homme  - Débardeur V 500 blc/marine]]></descriptif>
</product>
</products>

Fichier products.php:
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>titre</title>
<meta name="description" content="description">
<link rel="shortcut icon" href="favicon.ico">
<meta name="keywords" content="Pêche > Accessoires Homme">    
<style type="text/css" media="screen">@import "rouge.css";</style>


</head>

<body>
<?php
$products = simplexml_load_file('product.xml');

foreach($products->product as $product) {

$product->nom = str_replace('<![CDATA[', '', $product->nom);
$product->descriptif = str_replace('<![CDATA[', '', $product->descriptif);

if ($product->nom == "Shorts de Volley Homme")
{
echo 'NOM : ' ,$product->nom.'<br>';
echo 'DESCRIPTIF : ' ,$product->descriptif.'<br>';
}
}
?>
</body>
</html>


Malgré la "meta http-equiv" "Débardeurs" devient "Débardeurs"
"Conçu" devient "Conçu"

Vous avez une idée d'ou vient le problème?

Merci
 
WRInaute passionné
Je crois que simplexml_load_file ne fonctionne qu'en utf-8, donc ton fichier XML doit être converti automatiquement malgré qu'il soit déclaré en ISO.

utf8_decode();
 
WRInaute occasionnel
dorian53 a dit:
Je crois que simplexml_load_file ne fonctionne qu'en utf-8, donc ton fichier XML doit être converti automatiquement malgré qu'il soit déclaré en ISO.

utf8_decode();

Oui, c'est surement le problème, mais je n'arrive pas à solutionner ça ?

Quelqu'un peu m'écrire le code qui va bien ....

Merci
 
WRInaute occasionnel
C'est bon,
tout simplement
Code:
$product->descriptif = utf8_decode ($product->descriptif);

Meric Dorian53
 
Discussions similaires
Haut