Caractères accentués


Mth
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 367
Inscription: 24 Aoû 2005

Caractères accentués

Message le Mer Déc 19, 2007 17:05

Bonjour,

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

Fichier product.xml:
Code: Tout sélectionner
<?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: Tout sélectionner
<!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

silef
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 317
Inscription: 13 Jan 2006

Message le Mer Déc 19, 2007 17:16

htmlentities() peut être ?


dorian53
WRInaute passionné
WRInaute passionné
 
Messages: 2215
Inscription: 10 Avr 2005

Message le Mer Déc 19, 2007 17:42

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();


Mth
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 367
Inscription: 24 Aoû 2005

Message le Mer Déc 19, 2007 18:13

dorian53 a écrit: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


Mth
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 367
Inscription: 24 Aoû 2005

Message le Mer Déc 19, 2007 18:25

C'est bon,
tout simplement
Code: Tout sélectionner
$product->descriptif = utf8_decode ($product->descriptif);


Meric Dorian53


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité