Caractères é pour les accents [Résolu/Fermé]

Signaler
Messages postés
385
Date d'inscription
mercredi 22 décembre 2010
Statut
Membre
Dernière intervention
26 août 2016
-
Webster95
Messages postés
553
Date d'inscription
lundi 5 novembre 2007
Statut
Membre
Dernière intervention
9 juillet 2013
-
Bonjour à tous,
je sollicite votre aide car j'ai un problème sur un site que je crée en ce moment.
En effet, j'ai des caractères é qui s'affichent parfois à la place des accents, après de nombreuses recherches sur le web, je suis toujours arrivé à la même conclusion : problème d'encodage, il faut changer le charset, ce que j'ai fais, mais dans tout les cas (ISO-8859-1, ISO-8859-15 et UTF-8) le problème persiste et avec l'UTF-8, d'autre accents ont des problèmes.
Quelqu'un aurais-t-il une solution à me proposer ?
L'adresse de mon site : http://www-etu-info.iut2.upmf-grenoble.fr/~posticl/projet/index.php
Les accents marchent dans le menu de gauche, dans la page Accès, mais ne marchent pas dans le menu du haut ou dans les autres pages.
Merci

8 réponses

Messages postés
553
Date d'inscription
lundi 5 novembre 2007
Statut
Membre
Dernière intervention
9 juillet 2013
115
Salut,

Sur ta page, je vais dans le CS
<meta charset="charset=ISO-8859-1" />
==> Pas trés adapté tout ça, essaye plutot

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

Répondez vite, mais répondez bien.
"Le meilleur antivirus reste l'utilisateur"
XecK
Messages postés
385
Date d'inscription
mercredi 22 décembre 2010
Statut
Membre
Dernière intervention
26 août 2016
42
Merci pour ta réponse rapide, j'ai essayé, ça a marché pour ma section contenu, mais cela met des caractères indescriptibles dans le menu :
http://www-etu-info.iut2.upmf-grenoble.fr/~posticl/projet/spectacle.php
C'est UTF-8 qui fait ça, avec l'ISO, je reviens au problème initial.
Messages postés
61
Date d'inscription
mardi 5 mai 2009
Statut
Membre
Dernière intervention
30 juin 2012
8
essaye avec sa
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="FR"><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
XecK
Messages postés
385
Date d'inscription
mercredi 22 décembre 2010
Statut
Membre
Dernière intervention
26 août 2016
42
Ça en marche pas... Le problème reste le même.
mpmp93
Messages postés
6709
Date d'inscription
mercredi 13 avril 2011
Statut
Membre
Dernière intervention
28 septembre 2015
1 233
Bonsoir,

J'explique tout ici:
http://html5.immo-scope.com/index.php?page=general/applisFullUtf8

Il faut privilégier l'encodage UTF8

A+
Messages postés
3661
Date d'inscription
dimanche 18 mars 2001
Statut
Modérateur
Dernière intervention
15 janvier 2017
862
Utilise et configure tes outils de développement de manière cohérente.
Editeur UTF-8 => encodage utf-8 sur tes pages.

Sur le OS modernes, il n'y a aucune raison de ne pas utiliser UTF-8.
XecK
Messages postés
385
Date d'inscription
mercredi 22 décembre 2010
Statut
Membre
Dernière intervention
26 août 2016
42
J'ai fais cette méthode pour un encodage ISO et ça semblais marcher, mais pour un encodage utf-8, le problème est sur toutes les pages et le menu...
Sinon, passer par les entités HTML.
htmlentities($chaine)
Messages postés
385
Date d'inscription
mercredi 22 décembre 2010
Statut
Membre
Dernière intervention
26 août 2016
42
J'ai tout repassé en ISO-8859-1 et ça marche, sauf pour une page générée dynamiquement à partir d'une base de donnée postgreSQL :
http://www-etu-info.iut2.upmf-grenoble.fr/~posticl/projet/description_spectacle.php?nom=Bressieux%202011

J'ai essayé avec htmlentities, ça ne marche pas.

Voilà mon code :

<?php
$intitule=$_REQUEST['nom'];
echo "<section>\n";
require 'util.inc.php'; //permet d'utiliser executer_requete
$result = executer_requete("select description from Spectacle where intitule='$intitule'");
$ligne = pg_fetch_object($result);
echo "<h1>,$intitule,</h1>\n<p>\n",$ligne->description,"\n</p>";
echo "</section>";
?>


Une idée ? Apparemment c'est un problème dans ce qu'il extrait de la base de donnée (quand je regarde le code généré, le problème d'accent est déjà présent).
Les fonctions suivantes servent dans ce genre de situations :
utf8_encode
utf8_decode
htmlentities

Le seul moyen sûr de ne pas rencontrer ce genre de problèmes est de ne pas mélanger les jeux de caractères (BDD, scripts, clients)
Messages postés
385
Date d'inscription
mercredi 22 décembre 2010
Statut
Membre
Dernière intervention
26 août 2016
42
En fait, mon problème c'est que j'ai besoin d'insérer dans mon site ce qui sort de ma BDD, or celle-ci est forcément en UTF-8.
Si les fonctions utf8_encode et decode marcheraient, pourrais-tu m'expliquer leur fonctionnement ?
Extrait de la doc PHP :
utf8_encode() code la chaîne data au format UTF-8, et retourne la version codée.
utf8_decode() décode la chaîne data, en supposant qu'elle est au format UTF-8, et la convertit au format ISO-8859-1.
Messages postés
553
Date d'inscription
lundi 5 novembre 2007
Statut
Membre
Dernière intervention
9 juillet 2013
115
Essaye un mysql_query('SET NAMES UTF8');
juste avant ta requete de SELECT