bonjour
j'ai fait quelques pages de débutants en HTML avec un menu horizontal.

j'ai declaré la meta
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" />
grace à cette meta, tous mes accents sont corrects.

Ca ne fontionne plus dans les pages qui viennent de la fonction php include. j'ai plus d'accent
Comment dire soit à tout le site, ou soit aussi aux pages qui vont etre "Include" d'etre en ISO-8859-15

merci d'avance
Bonjour,

Les inclusions en PHP sont-elles faites en bonne et due forme? Le code HTML qui en résulte (celui que le navigateur reçoit, et qui peut se voir en affichant la source lorsqu'on visionne la page PHP) est-il valide?

Et peut-on voir ces pages? Car en l'état on manque d'informations.
La structure principale (fichier index.php et autres fichiers inclus pour le menu s'il y en a) sont en ISO-8859-15. Les contenus inclus sont en UTF-8. Le tout est déclaré en ISO-8859-15.

Conséquence:
- les contenus en ISO-8859-15 s'affichent bien (menu);
- les contenus en UTF-8 s'affichent mal (contenu principal).

Solutions possibles:
- encoder index.php en UTF-8, et déclarer de l'UTF-8;
- ou bien encoder les pages de contenu en ISO-8859-15 (et ne rien changer à ce qui est déclaré).
justement la est ma question, comment fait on pour tout déclarer, page html (avec meta donc) et les php include (comment?????)

merci d'avance
Milou16 a écrit :
justement la est ma question, comment fait on pour tout déclarer, page html (avec meta donc) et les php include (comment?????)

Tu le fais DÉJÀ, tu concatènes tes contenus avec des include, et tu déclares le tout comme étant du ISO-8859-15.

Le problème, ce n'est pas la déclaration, mais les contenus eux-même, qui sont mixtes. C'est cela qu'il faut corriger.

J'ai l'impression qu'il te manque quelques notions de base sur les encodages de caractères. N'hésite pas à lire le message en post-it de ce salon, et les articles qui y sont indiqués.
merci pour ces reponses, mais je vois pas quand je fais l'include ce qui me permet de dire à la page html qui va s'insérer d'etre en ISO-8859-15.
partout ou on parle de l'include, il est bien dit de ne pas remettre les balises head et body... qui sont dejà dans le document principal.
donc pas possibilité de le dire dans le fichier html qui va etre include

merci
Ce que Florent veut dire c'est que tu dois configurer ton éditeur de texte pour qu'il utilise le même encodage pour tous tes fichiers (php ou html). Apparemment tu aurais des fichiers avec des encodages différents et le navigateur ne s'y retrouve plus.

Solution : choisir un encodage (utf-8 est pas mal), réouvrir tous tes fichiers, vérifier cet encodage et au besoin le changer et sauver. Smiley cligne

N'oublie que la balise meta du fichier html généré doit avoir aussi la même indication d'encodage... Smiley smile
Modifié par Patidou (20 Apr 2009 - 13:44)
je suis d'accord.
ce que je comprend pas c'est que mon fichier principal index.php a bien dans son head la meta ....ISO-8859-15.
mais comme j'ai deja dit, pour moi dans les includes, il faut juste mettre le html qui complete le fichier index.pcp principal.

ou alors mon prob est, avec quoi ouvrir les fichiers html qui servent pour l'include, et comment changer dedans l'encodage (à priori ca doit pas etre quelquechsoe de visible)

merci
Milou16 a écrit :
ce que je comprend pas c'est que mon fichier principal index.php a bien dans son head la meta ....ISO-8859-15.

Ce n'est qu'une déclaration. Ça ne transforme pas tes données comme par magie, c'est juste censé informer le navigateur sur ce que sont tes données.

On peut comparer ça aux extensions de fichier: ce n'est pas parce que tu renommes un fichier .css en .html que ça va transformer une feuille de styles CSS en page HTML. C'est la même chose: si les données que tu envoies sont en UTF-8, tu as beau les déclarer en ISO-8859-15... eh bien elles restent en UTF-8.

Quitte à me répéter:
a écrit :
J'ai l'impression qu'il te manque quelques notions de base sur les encodages de caractères. N'hésite pas à lire le message en post-it de ce salon, et les articles qui y sont indiqués.
donc, avec quel editeur de texte je peux créer un nouveau fichier en iso-8859-15 par defaut, celui que j'utilise ne le propose pas (notepad++)

merci
mesdames et messieurs, merci
merci pour toutes vos réponses et vos orientations.

j'ai compris (vous allez dire enfin...). l'encodage fait partit intégrante du fichier et n'est pas visible. c'est comme si on crée un fichier word .doc et qu'après je change l'extension en xls. la structure reste du word.

j'ai donc pris mon fichier qui était avec le bon encodage et je m'en suis servi pour reenregistré les mauvais pour qu ils prennent le bon encodage.

Dernières questions, avec quel outils peut on voir le vrai encodage d'un fichier html, php, css (à priori pour css pas d'importance)...

merci d'avance
Milou16 a écrit :
Dernières questions, avec quel outils peut on voir le vrai encodage d'un fichier html, php, css (à priori pour css pas d'importance)...

Un bon éditeur de code utilisera:
- les informations déclarées dans le fichier s'il y en a (balise meta, directive CSS @charset, commentaire Python #coding: , etc.);
- un algorithme de reconnaissance de l'encodage, pas fiable à 100% mais souvent efficace.

Suivant les paramètres choisis, l'éditeur peut privilégier l'une ou l'autre information: la détection (qui peut se tromper), ou les informations déclarées (qui peuvent être erronées).

En général, tous les éditeurs de code vont afficher dans la barre d'état ou dans un menu quel est l'encodage reconnu (qui correspond à l'encodage que l'éditeur utilisera pour écrire les données dès qu'on lui demandera d'enregistrer le fichier). Certains éditeurs proposent de réinterpréter le fichier avec un encodage choisi par l'utilisateur, mais pas tous.

L'outil le plus simple pour détecter «manuellement» l'encodage d'un fichier, c'est encore le navigateur web. Avec Firefox (et d'autres aussi), tu peux modifier l'encodage utilisé pour interpréter le fichier, et vérifier de visu si c'est le bon encodage. Tu peux ouvrir dans un navigateur tout type de fichier texte. Il m'est arrivé d'ouvrir des exports SQL (récupérés via mysqldump) de quelques dizaines de Mo (mais c'est très limite niveau performances, ça peut faire planter le navigateur si vraiment le fichier est très lourd).