HTML - includes et charset [RESOLU] - HTML/CSS - Programmation
Marsh Posté le 30-04-2009 à 16:01:09
ReplyMarsh Posté le 30-04-2009 à 16:03:06
FlorentG a écrit : Donc y'en a qui sont mal encodées Vérifie dans ton éditeur le codage |
Ca me gave de mettre é 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.
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
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 :
|
form.php :
Code :
|
rem.php :
Code :
|
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.
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 é etc.. |
Notepad++ (par exemple) => en moins d'une minute tu peux transformer tous tes é en é.
Et au moins, tu rends quelque chose de correct à ton client - celui qui te paie pour un boulot qui "te gave"...
Marsh Posté le 30-04-2009 à 16:14:18
macgawel a écrit : |
Réflexion inutile.
Marsh Posté le 30-04-2009 à 16:22:11
Ouais, pas de é, on est en 2009
Sinon c'est carrément obligé que l'un des fichier n'a pas le même encoding Zip-les et files-les nous qu'on regarde
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...
Marsh Posté le 30-04-2009 à 16:30:02
Ouais, alors en effet, je pense que dans les fichiers il y avait un soucis.
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.
Bref, merci pour ton aide. Tout ira bien pour la suite.
Bye.
PS : Merci Abais pour ta participation.
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...
Marsh Posté le 30-04-2009 à 16:33:01
ReplyMarsh 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 !
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à ?
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 ?
Marsh Posté le 30-04-2009 à 15:59:58
Salut à tous
Alors voilà, les mystères de l'informatique me frappent encore...
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 :
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.
A bientôt les gens, merci pour votre aide !
PS : iso-8859-15 = idem. et UTF-8, le problème est inversé.
Message édité par jocastt le 30-04-2009 à 16:34:57