Probleme caractere speciaux [PHP]

Résolu
Bonjour,

Tout dabord voici mon code :

<?php echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?".">"; ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<?
require('conversiondate.php');
$db=mysql_connect("localhost", "ADMIN", "admin");
mysql_select_db("flux_rss",$db);

$recherche=$_POST["recherche"];
$rubrique=$_POST["rubrique"];
$sql = "SELECT dateArticle, titreArticle FROM infosexpert WHERE rubrique= '$rubrique' AND texteParagraphe LIKE '%$recherche%' ORDER BY dateArticle DESC ";
//$req = mysql_query($sql)or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

if ($_POST["rubrique"] == 'toutes')
{
$sql= "SELECT dateArticle, titreArticle FROM infosexpert WHERE texteParagraphe LIKE '%$recherche%' ORDER BY dateArticle DESC ";
}

$result1=mysql_query($sql);
while ($row=mysql_fetch_object($result1))
{

list($year, $month, $day) = explode("-", $row->dateArticle);
$months = array("janvier", "février", "mars", "avril", "mai", "juin",
"juillet", "août", "septembre", "octobre", "novembre", "décembre");

echo "<a href='resultat.php?titreArticle=".htmlentities($row->titreArticle, ENT_QUOTES)."'>".$row->titreArticle."</a> - (".$day." ".$months[$month-1]." ".$year.")<br>";
}
?>
<?php
while($row=mysql_fetch_array($result1))
{

?>
<center><ul>
<li><a href="resultat.php?titreArticle=<?php echo $row["titreArticle"];?>"></li><?php echo $row["titreArticle"];?></a> <?php echo $row["dateArticle"];?>
</ul></center>
<?php
}
mysql_close();
?>
</body>
</html>

Les caracteres de mes liens comme les accents ne s'affiche pas pour j'ai bien mi le charset ISO, je suis vraiment en galere quelqu'un pourrait il maider svp ?

merci
Configuration: Windows XP
Internet Explorer 6.0

4 réponses

  1. mon probleme et resolu il falai ke je mete html_entity_decode a la place de htmlentities merci pour votre aide :)
    1. Arf il traduit directement les accents... donc le é done 'é' sans les quotes bien sûr
      1. zeross je ne peut pas changer ma base de données j'ai pas loin de 200 titre si je dois changer tout les titre je n'est pas finis il doi y avoir un moyen que sa se change automatiquement mais lequel ? :S
    2. bonjour

      As-tu essayés d'utiliser les codes accents : é pour é par exemple ??
      1. je ne peut pas changer mes lien il vienne directement de ma base de données, c'est un projet pour mon entreprise que je suis entrain de faire, donc je ne peut rien changer.
      2. @Adrix08il faut modifier ta base de donnée en remplaçant les accents par le code correspondant dans ce cas et regarder si cela foncionne
    3. Utilise la fonction htmlentities() :
      http://fr2.php.net/manual/fr/function.htmlentities.php
      1. si tu regarde bien je les deja utiliser pour les lien, et c'est a ce niveau que cela bug au niveau de mes lien
      2. @Adrix08Oupssss, je n'avais pas vu. ^^

        Si c'est pour des liens, vu qu'ils ne changeront pas, tu peux direct les écrire encodé.
        Ex : trompé => trompé
      3. @MrSlaveRaaa il converti direct.

        J'avais écris & eacute ;
        (sans les espaces)
      4. @MrSlaveok on a eu la même idée et on a fait la même connerie =P