Aller au contenu

[Aide] Probleme d'accent


Pat-LeMans

Sujets conseillés

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" &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns=&quot;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=&quot;http://www.vivre-au-mans.net" />

<link rel="stylesheet" href=&quot;http://www.vivre-au-mans.net/css/style.css" type="text/css" />

<link rel="stylesheet" href=&quot;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=&quot;http://www.vivre-au-mans.net">Accueil</a>

| <a href=&quot;http://www.vivre-au-mans.net/annuairedesite.php">Annuaire</a>

| <a href=&quot;http://www.vivre-au-mans.net/agenda.php">Agenda</a>

| <a href=&quot;http://www.vivre-au-mans.net/petitesannonces.php">Annonces

</a> | <a href=&quot;http://www.vivre-au-mans.net/blog/">Blog

</a> | <a href=&quot;http://www.lemans-fr.com/forums/index.php" target="_blank">Forum</a> | <a href=&quot;http://www.vivre-au-mans.net/meteo.php">Météo</a>

| <a href=&quot;http://www.vivre-au-mans.net/last_records.php">Nouveautés</a>

| <a href=&quot;http://www.vivre-au-mans.net/partenaires.php">Partenaires</a>

| <a href=&quot;http://www.vivre-au-mans.net/plandumans.php">Plan</a>

| <a href=&quot;http://www.vivre-au-mans.net/galeriephoto/index.php" target="_blank">Photos</a>

| <a href=&quot;http://www.sweetfm.fr/pop.php" target="_blank">WebRadio</a>

| <a href=&quot;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=&quot;http://www.vivre-au-mans.net/admin/register.php">S'inscrire</a></li>

<li><a href=&quot;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=&quot;http://www.vivre-au-mans.net/guide-des-bars/tb67.html">Bars</a></li>

<li><a href=&quot;http://www.vivre-au-mans.net/cinemas.php">Cinémas</a></li>

<li><a href=&quot;http://www.vivre-au-mans.net/guide-des-discotheques/tb70.html">Discothèques</a></li>

<li><a href=&quot;http://www.vivre-au-mans.net/guide-des-hotels/tb72.html">Hôtels</a></li>

<li><a href=&quot;http://www.vivre-au-mans.net/loisirs.php">Loisirs</a></li>

<li><a href=&quot;http://www.vivre-au-mans.net/frequenceradio.php">

Radios</a></li>

<li><a href=&quot;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=&quot;http://www.vivre-au-mans.net/bonsplans.php">Bons

Plans</a></li>

<li><a href=&quot;http://www.vivre-au-mans.net/cultes.php">Lieux

de Cultes</a></li>

<li><a href=&quot;http://www.vivre-au-mans.net/muc72.php">Muc

72</a></li>

<li><a href=&quot;http://www.vivre-au-mans.net/msb.php">MSB</a></li>

<li><a href=&quot;http://www.vivre-au-mans.net/recherche.php">Recherche</a></li>

<li><a href=&quot;http://www.vivre-au-mans.net/relaiswifi.php">Relais WIFI</a></li>

<li><a href=&quot;http://www.vivre-au-mans.net/urgences.php">Services d'Urgence</a></li>

<li><a href=&quot;http://www.vivre-au-mans.net/topblog.php">Top Blogs</a></li>

<li><a href=&quot;http://www.vivre-au-mans.net/topsites.php">Top Sites</a></li>

<li><a href=&quot;http://www.vivre-au-mans.net/veniraumans.php">Venir au Mans</a></li>

<li><a href=&quot;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=&quot;http://www.annecy-city.com" target="_blank" title="annecy">Sortir à Annecy</a></li>

<li><a href=&quot;http://www.nancy-guide.net" target="_blank">Sortir à Nancy</a></li>

<li><a href=&quot;http://www.nantesweb.net" target="_blank">Sortir

à Nantes</a></li>

<li><a title="saint tropez tv" href=&quot;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=&quot;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=&quot;http://www.net-pratique.fr/services/compteur.php?id=3840"></script>-

<script type="text/javascript" src=&quot;http://www.net-pratique.fr/services/compteurlive.php?id=3840"></script>

<br />

© <a href=&quot;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=&quot;http://www.vivre-au-mans.net/partenairesmycircle.php">Annuaires</a>

- <a href=&quot;http://www.vivre-au-mans.net/echangeliens/">Liens

Automatique</a> - <a href=&quot;http://www.vivre-au-mans.net/plandusite.php">Plan du

site</a><br>

<a href=&quot;http://www.hebdotop.com" target="_blank"><img src=&quot;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é par Pat-LeMans
Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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 à.

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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 :)

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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 ?

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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 :blushing:

Modifié par Keroin
Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...