Bonsoir.
Je vais encore faire appel à vos lumières !
Problématique : Problème d'affichage des caractères accentués malgré un encodage en iso-8859-1 ou en UTF-8
Test effectués et erreurs constatées :
PREMIER TEST
J'ai créé un fichier XML (via mon logiciel favoris) contenant diverses informations comme suit :
Lorsque j'affiche ma galerie (puisque, vous vous en doutez, il s'agit d'un genre de galerie de photos), tout s'affiche correctement. Mes caractères accentués sont visibles.
DEUXIÈME TEST
Étant donné que j'ai de très nombreuses illustration à mettre et que ces illustrations sont classées par catégories, j'ai fait appel à une base de données MySQL (5.0 et même 4.0). Après maintes recherche sur Internet, j'ai finalement trouvé une solution pour générer un fichier XML (en PHP) Merveilleux, je me lance :
Je crée ma page galerie1.php
L'ouverture de ma page galerie1.php lance la création de mon fichier galerie1.xml
La page XML générée est parfaitement identique à celle créée à la main dans mon logiciel MIS A PART QUE, le résultat sur mon site n'est pas du tout le même ! En effet, TOUS les caractères accentués sont remplacés par de jolis petit carrés et mieux encore, les DEUX lettre suivant ce caractères accentué ont également disparues. Ex : Taïchi donne Ta[ ]i, Taïso donne Ta[ ], etc...
J'ai essayé de jouer avec l'encodage en me mettant en UTF-8 et je ne sais quoi encore... mais rien y fait !
Auriez-vous une solution à me proposer ? Je sèche complètement pour le coup !
Merci par avance pour vos conseils éclairés
Modifié par nikkyken (09 Mar 2009 - 19:32)
Je vais encore faire appel à vos lumières !
Problématique : Problème d'affichage des caractères accentués malgré un encodage en iso-8859-1 ou en UTF-8
Test effectués et erreurs constatées :
PREMIER TEST
J'ai créé un fichier XML (via mon logiciel favoris) contenant diverses informations comme suit :
<?xml version="1.0" encoding="ISO-8859-15"?>
<icons>
<icon image="pictures/mon_image.png" action="http://www.mon-url.com" rel="shadowbox[gallery];options={counterType:'skip',continuous:true}" target="_self" titre="Mon titre" desc="Ma description avec des caractères accentués"/>
</icons>
Lorsque j'affiche ma galerie (puisque, vous vous en doutez, il s'agit d'un genre de galerie de photos), tout s'affiche correctement. Mes caractères accentués sont visibles.
DEUXIÈME TEST
Étant donné que j'ai de très nombreuses illustration à mettre et que ces illustrations sont classées par catégories, j'ai fait appel à une base de données MySQL (5.0 et même 4.0). Après maintes recherche sur Internet, j'ai finalement trouvé une solution pour générer un fichier XML (en PHP) Merveilleux, je me lance :
Je crée ma page galerie1.php
<?php require("connect.php"); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<?php
// Edition du début du fichier XML
$xml = "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n";
$xml .= "<icons>\n";
// Connexion a la base
@mysql_connect($host,$user,$pwd) or die("Connexion impossible");
@mysql_select_db($base) or die("Echec de selection de la base");
// Selection des éléments
$res=mysql_query("SELECT * FROM mabase WHERE macategorie = '1' ORDER BY ID DESC");
// Extraction des informations et ajout au contenu
while($tab=mysql_fetch_array($res)){
$title=$tab[title];
$description=$tab[description];
$url=$tab[url];
$picture=$tab[picture];
$xml .= "\n<icon image=\"pictures/".$picture."\" action=\"".$url."\" rel=\"shadowbox[gallery];options={counterType:'skip',continuous:true}\" target=\"_self\" titre=\"".$title."\" desc=\"".$description."\"/>\n";
}
// Edition de la fin du fichier XML
$xml .= "</icons>";
// Ecriture dans le fichier
$fp = fopen("galerie1.xml", 'w+');
fputs($fp, $xml);
fclose($fp);
@mysql_close();
?>
</body>
</html>
L'ouverture de ma page galerie1.php lance la création de mon fichier galerie1.xml
La page XML générée est parfaitement identique à celle créée à la main dans mon logiciel MIS A PART QUE, le résultat sur mon site n'est pas du tout le même ! En effet, TOUS les caractères accentués sont remplacés par de jolis petit carrés et mieux encore, les DEUX lettre suivant ce caractères accentué ont également disparues. Ex : Taïchi donne Ta[ ]i, Taïso donne Ta[ ], etc...
J'ai essayé de jouer avec l'encodage en me mettant en UTF-8 et je ne sais quoi encore... mais rien y fait !
Auriez-vous une solution à me proposer ? Je sèche complètement pour le coup !
Merci par avance pour vos conseils éclairés
Modifié par nikkyken (09 Mar 2009 - 19:32)