Pat-LeMans Posté 12 Juillet 2008 Posté 12 Juillet 2008 (modifié) Bonjour, Je me heurte a un probleme que je comprend pas, celui des symboles curieux remplacant les accents. Regardez cette page test.php : http://www.vivre-au-mans.net/test.php Un exemple de ce que je vois : | Météo | Nouveautés | au lieu de étéo | nouveauté En fait ce probleme est intervenu après un essai d'include, mes pages etant basé sur le meme mise en forme, j'ai tente de faire des include pour eviter, si j'ajoute un lien dans le menu, de devoir modifier mes 20 pages. J'ai donc procede de cette maniere. Le code de la page test.php CODE <!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"> <html><head><title>Le Mans - Test</title> <meta name="verify-v1" content="wal2XojQbGRUzKlMfa5JJQG1VMrGJWy7tBrV9Nit5/E=" /> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <meta name="description" content="vivre-au-mans.net - Le Mans - Commerces et Artisans de Proximité. Bons de reduction exclusif pour les visiteurs de vivre-au-mans.net Retrouvez tous les produits ou services de la region du Mans. Annuaire et guide du Mans" /> <meta name="keywords" content=" le mans, au mans, clinique, hopital, bijouterie, parfumerie, casino, supermarche, hotel, agences de voyages, banques, automobiles, garage, cuisine, voyage, tourisme, relais wifi, ville du mans, cinemas, bons plans " /> <meta content="index,follow,all" name="robots" /> <meta name="identifier-url" content="http://www.vivre-au-mans.net" /> <link rel="stylesheet" href="http://www.vivre-au-mans.net/css/style.css" type="text/css" /> <link rel="stylesheet" href="http://www.vivre-au-mans.net/css/layout.css" type="text/css" /> <script language="JavaScript" type="text/javascript" src="include/js/scripts.js"></script> <script language="JavaScript"> Today = new Date; Jour = Today.getDate(); Mois = (Today.getMonth())+1; Annee = Today.getFullYear(); Heure = Today.getHours(); Min = Today.getMinutes(); Message = "Nous sommes le : " + Jour + "/" + Mois + "/" + Annee; Message1 = " et il est " + Heure + "h" + Min + "m"; </script> </head> <body> <?php include('header.inc.php'); ?> <?php include('menu.inc.php'); ?> <div id="content"> <div id="centre"> <h1>Test</h1> </div> </div> <?php include('footer.inc.php'); ?> </body> </html> Le code du fichier a inclure 'header.inc.php CODE <div id="container"><div id="header"> <h1></h1> </div> <div id="menu-rapide"> <p><a href="http://www.vivre-au-mans.net">Accueil</a> | <a href="http://www.vivre-au-mans.net/annuairedesite.php">Annuaire</a> | <a href="http://www.vivre-au-mans.net/agenda.php">Agenda</a> | <a href="http://www.vivre-au-mans.net/petitesannonces.php">Annonces </a> | <a href="http://www.vivre-au-mans.net/blog/">Blog </a> | <a href="http://www.lemans-fr.com/forums/index.php" target="_blank">Forum</a> | <a href="http://www.vivre-au-mans.net/meteo.php">Météo</a> | <a href="http://www.vivre-au-mans.net/last_records.php">Nouveautés</a> | <a href="http://www.vivre-au-mans.net/partenaires.php">Partenaires</a> | <a href="http://www.vivre-au-mans.net/plandumans.php">Plan</a> | <a href="http://www.vivre-au-mans.net/galeriephoto/index.php" target="_blank">Photos</a> | <a href="http://www.sweetfm.fr/pop.php" target="_blank">WebRadio</a> | <a href="http://www.vivre-au-mans.net/contact.php">Contact</a> | </p> </div> Le code du fichier menu.inc.php CODE <div id="leftnav"><div class="vertmenu"> <h1>Votre compte</h1> <ul> <li><a href="http://www.vivre-au-mans.net/admin/register.php">S'inscrire</a></li> <li><a href="http://www.vivre-au-mans.net/admin/login.php?url=http://www.vivre-au-mans.net/index.php">Espace Membre</a></li> </ul> <br/> <br/> <h1>Divertisse'Mans</h1> <ul> <li><a href="http://www.vivre-au-mans.net/guide-des-bars/tb67.html">Bars</a></li> <li><a href="http://www.vivre-au-mans.net/cinemas.php">Cinémas</a></li> <li><a href="http://www.vivre-au-mans.net/guide-des-discotheques/tb70.html">Discothèques</a></li> <li><a href="http://www.vivre-au-mans.net/guide-des-hotels/tb72.html">Hôtels</a></li> <li><a href="http://www.vivre-au-mans.net/loisirs.php">Loisirs</a></li> <li><a href="http://www.vivre-au-mans.net/frequenceradio.php"> Radios</a></li> <li><a href="http://www.vivre-au-mans.net/guide-des-restaurants/tb74.html"> Restaurants</a></li> </ul> <br/> <br/> <h1>En Plus</h1> <ul> <li><a href="http://www.vivre-au-mans.net/bonsplans.php">Bons Plans</a></li> <li><a href="http://www.vivre-au-mans.net/cultes.php">Lieux de Cultes</a></li> <li><a href="http://www.vivre-au-mans.net/muc72.php">Muc 72</a></li> <li><a href="http://www.vivre-au-mans.net/msb.php">MSB</a></li> <li><a href="http://www.vivre-au-mans.net/recherche.php">Recherche</a></li> <li><a href="http://www.vivre-au-mans.net/relaiswifi.php">Relais WIFI</a></li> <li><a href="http://www.vivre-au-mans.net/urgences.php">Services d'Urgence</a></li> <li><a href="http://www.vivre-au-mans.net/topblog.php">Top Blogs</a></li> <li><a href="http://www.vivre-au-mans.net/topsites.php">Top Sites</a></li> <li><a href="http://www.vivre-au-mans.net/veniraumans.php">Venir au Mans</a></li> <li><a href="http://www.weborama.fr/?id_vote=75821" target="_blank">Votez pour ce site</a></li> </ul> <br/> <br/> <h1>Sortir en France</h1> <ul> <li><a href="http://www.annecy-city.com" target="_blank" title="annecy">Sortir à Annecy</a></li> <li><a href="http://www.nancy-guide.net" target="_blank">Sortir à Nancy</a></li> <li><a href="http://www.nantesweb.net" target="_blank">Sortir à Nantes</a></li> <li><a title="saint tropez tv" href="http://www.saint-tropez.tv/" target="_blank">Sortir à Saint Tropez</a></li> </ul> </div> </div> <div id="right-column"> <div class="vertmenu"> </div> <div><script type="text/javascript"><!-- google_ad_client = "pub-5872663763910936"; /* 120x600, date de création 09/07/08 */ google_ad_slot = "3144345226"; google_ad_width = 120; google_ad_height = 600; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> </div> </div> Pour finir, celui du footer CODE <div id="footer"><p>Vivre au Mans, le City Guide du Mans - <script type="text/javascript" src="http://www.net-pratique.fr/services/compteur.php?id=3840"></script>- <script type="text/javascript" src="http://www.net-pratique.fr/services/compteurlive.php?id=3840"></script> <br /> © <a href="http://www.vivre-au-mans.net">City Guide Le Mans</a> - <script language="JavaScript"> document.write(Message); </script> <script language="JavaScript"> document.write(Message1); </script> - <a href="http://www.vivre-au-mans.net/partenairesmycircle.php">Annuaires</a> - <a href="http://www.vivre-au-mans.net/echangeliens/">Liens Automatique</a> - <a href="http://www.vivre-au-mans.net/plandusite.php">Plan du site</a><br> <a href="http://www.hebdotop.com" target="_blank"><img src="http://www.hebdotop.com/cgi-bin/vote.eur?id=147077" alt="Classement de sites - Inscrivez le vôtre!" border="0" height="30" width="80" /></a> <br /> </div> </div> Je ne vois pas ce qui fait obstacle et deregle les accents. Pouvez vous m'aider SVP ?? Merci. Modifié 12 Juillet 2008 par Pat-LeMans
Jeanluc Posté 12 Juillet 2008 Posté 12 Juillet 2008 Certains de tes fichiers sont enregistrés au format ISO8859 et d'autres au format UTF-8. Quand tu les combines avec l'include, tu te retrouves avec des caractères accentués codés de deux façons différentes. La différence de codage peut aussi se trouver au niveau de données stockées dans la database s'il y en a une. Soit tu mets des entités HTML partout (é, par exemple), soit tu codes tous tes fichiers de la même façon, soit tu convertis les données du "mauvais" format vers le "bon" quand c'est nécessaire. Essaie de localiser plus précisément d'où provient la différence de format Jean-Luc
Pat-LeMans Posté 12 Juillet 2008 Auteur Posté 12 Juillet 2008 Bonjour, La est effectivement la question, ou localiser le probleme ?? Cette page par exemple, n'a pas le probleme, mais je ne l'ai pas encore passe avec le systeme d'include http://www.vivre-au-mans.net/partenaires.php Le probleme viendrait donc des fichiers a inclure ? Dans la nuit, j'ai fait le test en remplacant strictement les 3 parties et en mettant les include et la page devenait deregle affichant le soucis d'accent, et en remettant comme a l'origine, en retirant donc l'appel aux include, et bien, plus de soucis.
Jeanluc Posté 12 Juillet 2008 Posté 12 Juillet 2008 Ton fichier header.inc.php est effectivement encodé en UTF-8 alors que ta page est supposée s'afficher en ISO8859. Je n'ai pas vérifié pour les autres fichiers inclus. Il faut réenregistrer ces fichiers en changeant le format. Jean-Luc
Pat-LeMans Posté 12 Juillet 2008 Auteur Posté 12 Juillet 2008 D'accord, pourtant je n'ai pas demande a enregistre ce header.inc.php en UTF-8. En tout cas, Merci. J'ai remplace pour test le é de Météo par le é et cela fonctionne bien, par contre, faut que je trouve le code pour le èet le à.
Jeanluc Posté 12 Juillet 2008 Posté 12 Juillet 2008 En voici quelques uns: é = éè = èê = êà = à Et pour les autres, demande à Google. Il doit savoir où on peut trouver une liste d'entités HTML. Jean-Luc
Pat-LeMans Posté 12 Juillet 2008 Auteur Posté 12 Juillet 2008 Merci pour tout monsieur Jean Luc Je peut donc ajouter l'appel aux include sur toutes mes pages. Probleme resole, hormis le fait de pas avoir remarque ou se demande le fait d'enregistrer un fichier dans tel ou tel format.
captain_torche Posté 12 Juillet 2008 Posté 12 Juillet 2008 Tu utilises quel logiciel pour créer tes pages ?
Jeanluc Posté 12 Juillet 2008 Posté 12 Juillet 2008 Avec bloc-notes de Windows (notepad), quand tu fais "Fichier", puis "Enregistrer sous ...", en bas de la fenêtre, tu peux choisir le type de codage. Il doit y avoir une option de ce type dans tous les éditeurs, mais je suppose que parfois elle est bien cachée. Jean-Luc
Pat-LeMans Posté 12 Juillet 2008 Auteur Posté 12 Juillet 2008 J'utilise Dreamweaver, le dernier, le CS3.
baulet Posté 12 Juillet 2008 Posté 12 Juillet 2008 dans le Dreamweaver 8 : Modifier > Proprietes de la page > Titre/codage dans le cs3 ca devrait pas trop changer esperons le...
Keroin Posté 12 Juillet 2008 Posté 12 Juillet 2008 En voici quelques uns: é = éè = èê = êà = à Et pour les autres, demande à Google. Il doit savoir où on peut trouver une liste d'entités HTML. Jean-Luc Hello, je rebondis sur ce post de Pat car j'ai un petit souci qui y ressemble un peu, dans une bdd, l'un des champs d'une table est enregistré en texte (avec les accents...) et je souhaiterais que le contenu de ce champ (et uniquement ce champ) soit converti en html (è, ê,...). Existe t'il une commande sql qui peut faire ça car je voudrais intervenir directement sur la bdd (j'ai mysqldump qui est génial pour trifouiller dans les bdd mais j'ai pas trouver ce genre d'option dedans...). Merci si quelqu'un a ça sous la mains
yuston Posté 13 Juillet 2008 Posté 13 Juillet 2008 Je ne réponds pas vraiment aux questions, mais personnellement j'insère ce bout de code à chaque fois que je déclare une connexion SQL j'insère cette ligne: mysql_query('SET NAMES \'utf8\''); Cela permet d'envoyer une requête dont le contenu est converti en UTF8. Pour convertir une colonne en UTF8, je ne sais pas si cela fera l'affaire: ALTER TABLE machin CONVERT TO utf8 COLLATE utf8_unicode_ci
Keroin Posté 13 Juillet 2008 Posté 13 Juillet 2008 J'ai résolu mon souci en me souvenant de cette astuce que The Rec m'avait donné => http://www.webmaster-hub.com/index.php?showtopic=30554 (en updatant les caractères directement dans la table de la bdd). ça fonctionne sauf pour les insertions de saut de ligne pour retour chariot, j'ai tenter de remplacer par un <br/> ça ne fonctionne pas mais ça m'affiche le <br/> en clair. J'ai cherché et j'ai également essayé de remplacer par //r//n et là bah...ça bloque car ça m'affiche /r/n et ça ne veut plus s'en aller même quand je tente de remplacer l'expression ...une idée quelqu'un ?
yuston Posté 13 Juillet 2008 Posté 13 Juillet 2008 Je suppose que tu as utilisé un htmlentities(); pour convertir tes caractères. Et pour les sauts de ligne, tu as dû utiliser un nl2br(); S'il t'affiche un <br/> en clair c'est que tu as inversé l'ordre. Il faut d'abord utiliser htmlentites(); et ensuite un nl2br(); En gros: $ch = nl2br(htmlentities($ch));
Keroin Posté 13 Juillet 2008 Posté 13 Juillet 2008 (modifié) Non non, relis bien, j'interviens directement dans la bdd (via phpmyadmin) et non sur le affichages de la bdd en php. Mais bon ça fonctionne en updatant tous les caractères un par un donc je vais restaurer la base et recommencer (en 15 minutes c'est fait). Merci d'avoir essayé de m'aider Je m'excuse auprès de Pat pour lui avoir un peu squatté son sujet Modifié 13 Juillet 2008 par Keroin
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant