Page 1 sur 1

Problème d'encodage sur include require

Posté : 28 janv. 2014, 15:48
par foetus69
Bonjour,

J'ai un souci d'encodage sur mon modèle de page, pas de base de données, rien de compliquer aux premiers abords...
<!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=utf-8" />
<title>Accueil</title>
</head>
<body>
<div id="global">
<?php require_once("header.php"); ?>
<div id="boxcontent"><h1>Hello world !</h1>
</div>
<?php require_once("footer.php"); ?>
</body>
</html>
sauf que mes caractères accentués du footer que voici :

<div id="footer">© 2013 site partenaire idéal du développement électrique - Mentions légales</div>

n'apparaissent pas bien. Ca me met un ? dans un losange. C'est bizarre. Pourquoi ça fait ça ?

Comment résoudre le problème ? Est-ce que ma page est html5 certfied ?

Merci de votre aide.

Fée

Re: Problème d'encodage sur include require

Posté : 28 janv. 2014, 16:12
par moogli
salut,

1/ pour les caractères c'est que tu as un problème d'encodage (si si ;) ).
est ce le fichier inclus est bien utf-8 ? (vérifie bien l'encodage du fichier).
est ce que le serveur envois le fichier en disant que c'est de l'iso ?


2/ Pour ce qui est de HTML5 il faudrait déjà que tu ais le doctype html 5 :)
<!DOCTYPE html>
ensuite quitte à utiliser un doctype html5 autant utiliser des balise apparue avec html 5 (sinon autant gardé celle que tu as et ne te pas chercher à utiliser html 5 ;) ).

par exemple
<div id="footer"> => <footer></footer>
pour l'entête je suppose que tu as le même genre ? => <header> etc etc

pour info
http://www.alsacreations.com/article/li ... aside.html
http://www.alsacreations.com/tuto/lire/ ... input.html

@+

Re: Problème d'encodage sur include require

Posté : 28 janv. 2014, 16:15
par foetus69
Merci moogli !pour le moment je taffe en local.

Question toute bête : mon fichier footer.php ne contient que ça :
<div id="footer">© 2013 site partenaire idéal du développement électrique - Mentions légales</div>
Il faut que je reposte toutes les balises : html, title, body etc...ca fait pas doublons ?

Fée

Re: Problème d'encodage sur include require

Posté : 28 janv. 2014, 16:50
par xTG
Il faut que je reposte toutes les balises : html, title, body etc...ca fait pas doublons ?
Je suis pas certain de comprendre ta question.
Dans une réponse HTTP le source ne contiendra qu'une seule balise HTML.
Donc même si tu fais plusieurs includes tu ne dois avoir qu'une seule balise HTML au final.

Re: Problème d'encodage sur include require

Posté : 28 janv. 2014, 17:06
par moogli
et si tu veux éviter les problème d'encodage utilise les entités html
é => &eacute;
è => &egrave;
etc

@+

Re: Problème d'encodage sur include require

Posté : 28 janv. 2014, 17:38
par foetus69
oui mais pour le référencement c'est pas glop, non ? Il va pas catcher électrique mais &eacute;lectrique si je ne m'abuse :\

Je ne trouve rien qui explique ce comportement... #-o

En revanche, j'ai trouvé une solution mais ça fait bidouille et comme je disais plus haut je voudrais vraiment comprendre pourquoi ce résultat...

Si vous prenez mon modèle de page avec les includes et que vous mettez des accents dans le header et le footer, ca fait pas ça vous ?

Re: Problème d'encodage sur include require

Posté : 28 janv. 2014, 18:12
par moogli
ben ça ne le fait pas non plus sur le forum hein ;)

as tu testé tous ce qu'il y a sur ce tuto faq-tutoriels/encodage-utf-t245062.html ?

est ce que ton navigateur n'aurait pas un charset de forcé par défaut (genre iso-8859-1(5) ) ?

@+

Re: Problème d'encodage sur include require

Posté : 28 janv. 2014, 18:21
par foetus69
Le truc c'est que dans mon include d'header les caractères accentués sont nickels et dans mon footer ils ne le sont plus.

Si vous avez 2 minutes vous pouvez faire le test svp à partir du gabarit de mon premier post et me dire le résultat que vous obtenez ?

Merci de votre aide !


Re: Problème d'encodage sur include require

Posté : 28 janv. 2014, 19:02
par moogli
ben je n'ai pas de problème
<!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=utf-8"/>
    <title>Accueil</title>
</head>
<body>
<div id="global">
    <div id="header">l'entête qui va bien </div>    <div id="boxcontent"><h1>Hello world !</h1>
    </div>
    
<div id="footer">© 2013 site partenaire idéal du développement électrique - Mentions légales</div></body>
</html>
simplement parce que les fichiers sont tous en utf-8 et que le serveur m'envoi de l'utf-8 ;)
et comme j'suis sympa try it avec les sources si tu veux ;)

@+

Re: Problème d'encodage sur include require

Posté : 28 janv. 2014, 23:13
par foetus69
Coucou, re ^^

Me voilà rassurée, j'ai repris au mot près tes pages et j'ai le même résultat qu'avec mon code donc des soucis d'encodage (? dans des losanges)

Je suis en local wampserver sous chrome.

Et toi ? Une idée ?

En tout cas merci les gars.

Fée

Re: Problème d'encodage sur include require

Posté : 29 janv. 2014, 12:48
par moogli
moi ?
j'suis sur ma chaise :mrgreen:

les liens tournent sur un serveur que je ne gère pas.

Est ce qu'avec mon exemple (donc en cliquant sur le lien que j'ai mis au dessus)tu as un affichage correct ou pas ?

si cela n'est pas correcte c'est que tu as surement forcé le charset d'affichage quelque part.

@+

Re: Problème d'encodage sur include require

Posté : 14 mars 2014, 08:09
par Franck31
Bonjour à vous tous,

Je viens d'avoir le même problème que vous.

J'ai une page php codée en UTF8. J'appelle un morceau de code avec un "require_once", et mon ajout de code n'est plus en UTF8.

La solution fut fort simple, le fichier "bout_de_code.php" n'était pas encodé en UTF8. Cet encodage ne se fait pas un programmation de l'entête mais dans la façon dont j'avais enregistré mon fichier. Donc j'ai enregistrer_sous mon fichier avec le encoding (je me sers de CodeLobster).

En espérant vous avoir aider.

Salutations à tous.