[RESOLU]HTML - includes et charset

HTML - includes et charset [RESOLU] - HTML/CSS - Programmation

Marsh Posté le 30-04-2009 à 15:59:58    

Salut à tous  :)
 
Alors voilà, les mystères de l'informatique me frappent encore... :bounce:  
 
Je réalise pour un client un site, et j'ai un problème avec mon jeu de caractères.
 
J'utilise un systeme de "pseudo frame" pour afficher les pages en fonction d'une variable GET.
J'ai donc une seule page index.php, munie d'un switch qui scrute la variable GET page, et qui inclue en fonction de celle-ci, la page qui correspond.
 
Ces morceaux de code inclus sont des parties de HTML pour le moment, et sont encadrés par des balises <table>
Dans ma page appelant ces includes, en haut, j'ai déclaré une entête comme ceci :

Code :
  1. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">


Le fait est que : sur une des pages, imaginons index.php?page=form
Mes caractères accentués prennent une tournure bizarre. ( é => é )(UTF-8)
Alors que : sur la page index.php?page=rem
Ces mêmes accents sont affichés correctement.
 
Comment cela peut-il s'expliquer informatiquement.
J'ai une seule page index, avec la meme en-tete pour toutes les inclusions, la même mise en page pour toutes les inclusions, et sur certaines ça fonctionne... et sur d'autres non.  :lol:  
 
A bientôt les gens, merci pour votre aide !
 
PS : iso-8859-15 = idem. et UTF-8, le problème est inversé.

Message cité 1 fois
Message édité par jocastt le 30-04-2009 à 16:34:57
Reply

Marsh Posté le 30-04-2009 à 15:59:58   

Reply

Marsh Posté le 30-04-2009 à 16:01:09    

Donc y'en a qui sont mal encodées [:petrus dei] Vérifie dans ton éditeur le codage

Reply

Marsh Posté le 30-04-2009 à 16:03:06    

FlorentG a écrit :

Donc y'en a qui sont mal encodées [:petrus dei] Vérifie dans ton éditeur le codage


Ca me gave de mettre &eacute; etc..
Mais sur les 2 inclusions différentes, j'utilise le même morceau de code : "intitulé".
Sur l'une ca marche, sur l'autre non.

Reply

Marsh Posté le 30-04-2009 à 16:05:22    

Nan mais c'est juste le fichier qui est mal encodé. Il doit être en utf-8 sûrement, et le reste en iso. Faut vérifier dans ton éditeur

Reply

Marsh Posté le 30-04-2009 à 16:12:08    

FlorentG a écrit :

Nan mais c'est juste le fichier qui est mal encodé. Il doit être en utf-8 sûrement, et le reste en iso. Faut vérifier dans ton éditeur


Attends je comprends pas là.. :  
index.php :

Code :
  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  4. </head>
  5. <body>
  6. <?php
  7. switch ($i){
  8. case 'form'
  9.   include ('pages/form.php');
  10. break;
  11. case 'rem'
  12.   include ('pages/rem.php');
  13. break;
  14. }
  15. ?>
  16. </body>
  17. </html>


 
form.php :

Code :
  1. <table><tr><td>Intitulé</td></tr></table>


rem.php :

Code :
  1. <table><tr><td>Intitulé</td></tr></table>


 
Marche pour form, pas pour rem.
 
Ya pas d'encodage défini pour chaque fichier inclus. L'encodage est inné à la page index.php et doit s'appliqué sur les inclusions non ? :(  
 
Merci pour tes réponses.

Reply

Marsh Posté le 30-04-2009 à 16:13:32    

jocastt a écrit :

Je réalise pour un client un site, et j'ai un problème avec mon jeu de caractères.

jocastt a écrit :

Ca me gave de mettre &eacute; etc..

:pfff:  
 
Notepad++ (par exemple) => en moins d'une minute tu peux transformer tous tes é en &eacute;.
Et au moins, tu rends quelque chose de correct à ton client - celui qui te paie pour un boulot qui "te gave"...

Reply

Marsh Posté le 30-04-2009 à 16:14:18    

macgawel a écrit :

:pfff:  
Notepad++ (par exemple) => en moins d'une minute tu peux transformer tous tes é en &eacute;.
Et au moins, tu rends quelque chose de correct à ton client - celui qui te paie pour un boulot qui "te gave"...


Réflexion inutile.

Reply

Marsh Posté le 30-04-2009 à 16:22:11    

Ouais, pas de &eacute;, on est en 2009 :D
 
Sinon c'est carrément obligé que l'un des fichier n'a pas le même encoding :D Zip-les et files-les nous qu'on regarde

Reply

Marsh Posté le 30-04-2009 à 16:29:13    

Oui, il faut que tu distingue l'encoding de ton fichier et le charset que tu déclare...
C'est comme si tu taggais "voiture bleu" sur ta voiture rouge...
dans ton éditeur, il faut que tu fasses format/encodage/Iso....
Enfin, la manip varie d'un éditeur à l'autre...


---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
Reply

Marsh Posté le 30-04-2009 à 16:30:02    

Ouais, alors en effet, je pense que dans les fichiers il y avait un soucis. :pfff:  
Je viens de copier le contenu de chaque inclusions dans des nouveaux fichiers (ctrl+n dans notepad++ (dédicace à macgawel) ), tout fonctionne.
 
En réalité c'est notre graphiste qui fait les maquettes HTML, malheureusement la pauvre travaille avec cette s****erie de Dreamweaver, et je suppose qu'il a coller des infos aux fichiers (ou un truc dans le genre). Je haie cette sale bête. :na:  
 
Bref, merci pour ton aide. Tout ira bien pour la suite.  :lol:  
Bye.
 
PS : Merci Abais pour ta participation. :)


Message édité par jocastt le 30-04-2009 à 16:31:17
Reply

Marsh Posté le 30-04-2009 à 16:30:02   

Reply

Marsh Posté le 30-04-2009 à 16:31:12    

jocastt a écrit :

Ya pas d'encodage défini pour chaque fichier inclus. L'encodage est inné à la page index.php et doit s'appliqué sur les inclusions non ? :(


Encodage html != encodage du fichier.
 
Un fichier texte - comme les fichiers *.php - est encodé selon un jeu de caractères particulier.
Les caractères ASCII sont codés sur 8 bits, les caractères UTF8 sur 16.
Tant qu'on est dans des caractères "classiques" ça ne pose pas de problème, mais pour les caractères "particuliers", comme les caractères accentués...
Par exemple, en UTF8, on code le é en héxadécimal : c3a9.
Or en ASCII C3a9 est lu comme deux caractères :
c3 => Ã
a9 => ©
 
Si tu utilises un éditeur de texte correct (comme Notepad++) tu peux choisir l'encodage du fichier texte...
Et si tu utilises un éditeur de texte, il lit automatiquement le codage utilisé. Du coup un fichier contenant intitulé encodé en UTF8 affichera intitulé, comme le même fichier encodé en ISO.
Par contre le charset donné dans la page HTML va "forcer" l'utilisation de l'UTF8 ou du ISO. Et là, on n'a plus le même affichage...

Reply

Marsh Posté le 30-04-2009 à 16:33:01    

UTF-8 ne code pas sur 16 bits; c'est un encoding variable :)

Reply

Marsh Posté le 30-04-2009 à 16:34:35    

FlorentG a écrit :

UTF-8 ne code pas sur 16 bits; c'est un encoding variable :)


Oulah moi je sors ca va chauffer !  :lol:  :pt1cable:

Reply

Marsh Posté le 30-04-2009 à 16:39:03    

FlorentG a écrit :

UTF-8 ne code pas sur 16 bits; c'est un encoding variable :)


c'est soit 8 bit soit 16 bits c'est cà ?

Reply

Marsh Posté le 30-04-2009 à 16:40:38    


Nan ça peut être plus, jusqu'à 4 octets, donc 32 bits

Reply

Marsh Posté le 30-04-2009 à 16:42:55    

:jap:

Reply

Marsh Posté le 30-04-2009 à 18:30:00    

Dans DreamW, tu diras à ta collègue d'aller dans :
Propriété de la page => Titre/codage => codage ;)
 
sinon, si l'UTF-8 peut encoder sur 32b, à quoi ser l'UTF-16 et l'UTF-32 ?


---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
Reply

Marsh Posté le 30-04-2009 à 18:37:25    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed