Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/07/2008, 13h39   #1
Membre à l'essai
 
Inscription : mai 2008
Messages : 35
Détails du profil
Informations personnelles :
Âge : 21

Informations forums :
Inscription : mai 2008
Messages : 35
Points : 24
Points : 24
Par défaut Problème sur un include/require

Bonjour à tous, m'étant recemment mis à la création d'un site internet, et faisant cela tout en apprennant en parallèle, j'ai déjà plus ou moins passé en revus le couple html/css, et me suis mis également donc au php.

Ayant pu voir l'utilisation et l'utilité des fonctions require() ou include(), je me suis dit que pour un gain de place et de lisibilité, je pouvais mettre le menu du site et tout ce qui va apparraître sur chaque page dans un fichier séparé que j'ajoute ensuite avec l'une de ces deux fonctions.

Seulement, voilà le problème, ce que j'ai fait passe parfaitement sans que j'emploie l'une de ces fonctions, mais quand je les utilises, tout fonctionne, mais l'html intégré dedans "perd" l'encodage des caractères: Là où l'affichage est parfait sans l'include, quand je le met tous les caractères à accents et autres caractères spéciaux sont mal affichés.

Je sollicite donc votre aide si possible sur ce petit problème!
Porkepix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2008, 15h33   #2
Inactif
 
Inscription : mai 2008
Messages : 179
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 179
Points : 179
Points : 179
Montre un exemple (avec du code, réduit au minimum si possible) de ce qui se passe.
sielfried est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2008, 15h38   #3
Membre du Club
 
Inscription : juin 2005
Messages : 60
Détails du profil
Informations personnelles :
Âge : 33
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : juin 2005
Messages : 60
Points : 40
Points : 40
Est-ce que tes deux fichiers ont le même encodage ? (le fichier maître et le fichier inclus ? )
Nious99 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2008, 15h42   #4
Membre à l'essai
 
Inscription : mai 2008
Messages : 35
Détails du profil
Informations personnelles :
Âge : 21

Informations forums :
Inscription : mai 2008
Messages : 35
Points : 24
Points : 24
Ci-joint les deux fichiers concernés. Je n'ai pas mis le CSS dont je ne pense pas qu'il soit utile. Ne faites pas attention au fait que le tout soit vide, j'ai eu peu de temps à y consacrer dernièrement avec les examens et tout ça ^^'

EDIT: Ah et sivous préférez que je cite en code ou que j'uploade ailleurs plutôt qu'en pièce jointe, je peux aussi
Fichiers attachés
Type de fichier : php index.php (938 octets, 4 affichages)
Type de fichier : php squelette.inc.php (2,3 Ko, 1 affichages)
Porkepix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2008, 16h05   #5
Membre à l'essai
 
Inscription : mai 2008
Messages : 35
Détails du profil
Informations personnelles :
Âge : 21

Informations forums :
Inscription : mai 2008
Messages : 35
Points : 24
Points : 24
Citation:
Envoyé par Nious99 Voir le message
Est-ce que tes deux fichiers ont le même encodage ? (le fichier maître et le fichier inclus ? )
Si par l'encodage tu entend le jeu de caractères, je n'en ai pas remis dans le fichier à inclure sur ceux que j'ai mis ici en pièce jointe, mais j'ai essayé de le faire, et remettre toutes les métabalises ne changeais rien.

EDIT: j'avais remis toutes les métabalises sans les balises <head>, peut-être aurais-je aussi dû les remettre? mais quand j'avais mis les métabalises, elles s'étaient rajoutées comme du texte supplémentaire....
Porkepix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/07/2008, 13h27   #6
Membre éprouvé
 
Avatar de defcon_suny
 
Développeur informatique
Inscription : décembre 2006
Messages : 436
Détails du profil
Informations personnelles :
Localisation : Belgique

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : décembre 2006
Messages : 436
Points : 486
Points : 486
Salut!

Le fichier squelette.inc.php est enregsitré sous le format utf-8 et dans ta page index.php les entêtes précisent l'utilisation de la table iso 8859-1
Code :
1
2
 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
Suivant l'éditeur que tu utilises, tu devrais pouvoir lui préciser sous quel format le fichier doit être encodé. Regarde dans le menu "Fichier" de ton éditeur ou dans la configuration.

Si tu ne trouves pas... donne le nom de ton éditeur!

++
defcon_suny est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/07/2008, 14h43   #7
Membre à l'essai
 
Inscription : mai 2008
Messages : 35
Détails du profil
Informations personnelles :
Âge : 21

Informations forums :
Inscription : mai 2008
Messages : 35
Points : 24
Points : 24
Le fichier initial a été débuté dans Notepad++, et le fichier à inclure a été fait sous Dreamweaver CS3.
En revanche cela doit toucher à une notion que je ne saisis pas. Il y a les extentions de fichiers qui déterminent le type de fichier par contre l'encodage est donné par les métabalises au début du fichier html, dés lors puisque le contenu du fichier à inclure est ajouté à l'endroit où se trouve la fonction include, pourquoi ne reprends-til pas l'encodage donné au début du fichier? Et à ce moment là, comment spécifie-t-on l'encodage du fichier?
Porkepix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/07/2008, 14h49   #8
Membre éprouvé
 
Avatar de defcon_suny
 
Développeur informatique
Inscription : décembre 2006
Messages : 436
Détails du profil
Informations personnelles :
Localisation : Belgique

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : décembre 2006
Messages : 436
Points : 486
Points : 486
La chose est différente... Dans ton HTML tu avertis le navigateur du client sur la table de caractère qu'il doit utiliser.

Dans ton cas, ton navigateur utilise bien le iso 8859-1 comme tu le demandes. Mais tu inclus un fichier qui lui a été créé et enregsitré sous le format utf-8

Les fichiers peuvent eux être enregistré sous différents format. La plupart du temps sous Windows, tu trouveras le format ANSI.

SOLUTION : Dans ton notepad++ ouvre le fichier squelette.inc.php. Va dans format et choisis encoder en ANSI. enregistre et raffraîchis ton navigateur.

++
defcon_suny est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/07/2008, 15h14   #9
Membre à l'essai
 
Inscription : mai 2008
Messages : 35
Détails du profil
Informations personnelles :
Âge : 21

Informations forums :
Inscription : mai 2008
Messages : 35
Points : 24
Points : 24
Problème résolu, ça fonctionne correctement. Merci beaucoup. Juste une chose, saurais-tu où se change ce format dans Dreamweaver CS3? ça m'arrangerais, même si, à défaut on peut tout de même sans passer ^^'
Porkepix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/07/2008, 15h18   #10
Membre éprouvé
 
Avatar de defcon_suny
 
Développeur informatique
Inscription : décembre 2006
Messages : 436
Détails du profil
Informations personnelles :
Localisation : Belgique

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : décembre 2006
Messages : 436
Points : 486
Points : 486
Edition -> Préférences -> Nouveau document -> Codage par défaut.

N'oublie pas de mettre ton post comme "Résolu"

++
defcon_suny est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/07/2008, 15h19   #11
Membre à l'essai
 
Inscription : mai 2008
Messages : 35
Détails du profil
Informations personnelles :
Âge : 21

Informations forums :
Inscription : mai 2008
Messages : 35
Points : 24
Points : 24
Bien, un grand merci pour ton aide!
Porkepix est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h28.


 
 
 
 
Partenaires

Hébergement Web