(Résolu) Elements invisibles dans le html suite à un include

Elements invisibles dans le html suite à un include (Résolu) - PHP - Programmation

Marsh Posté le 26-03-2010 à 00:04:38    

Bonjour à tous,
 
Je me permets de demander votre aide car je commence à m'arracher les poils crâniens avec le problème qui suit.
 
Lorsque je fais une inclusion de fichier, j'obtiens un espace non désiré dans mon affichage html et visible avec firebug (mais pas dans le source html).
 
L'inclusion que je fais :
 

Code :
  1. <?php
  2. include('fichier.php');
  3. ?>


Fichier.php contenant : echo '<p>texte</p>';
 
Sous firebug, le résultat est le suivant :

Code :
  1. <html>
  2.   <head></head>
  3.   -<body>
  4.      (espace)
  5.      -<p>
  6.          texte
  7.       </p>
  8.   </body>
  9. </html>


 
Ceci est, bien sûr, la version la plus simple avec laquelle j'arrive à créer le problème. Le problème n'apparait pas avec du texte affiché depuis le fichier courant et, il me semble, que le problème est survenu lorsque je me suis rendu compte que je n'utilisais pas le bon charset, passant ainsi d'ANSI à UTF-8 (avec Notepad++, sans utiliser la conversion, juste un changement d'encodage).
 
Voila, voilà... Si quelqu'un a une idée de piste voir, idéalement, une solution, je l'embrasse fort !
 
Merci d'avoir lu et merci d'avance à ceux et celles qui y réfléchirons.
 
Cordialement.


Message édité par viketor le 26-03-2010 à 13:03:25
Reply

Marsh Posté le 26-03-2010 à 00:04:38   

Reply

Marsh Posté le 26-03-2010 à 10:26:24    

T'as pas tout simplement un espace en-dehors de <?php ?> ?[:autobot]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 26-03-2010 à 12:00:48    

Malheureusement non.
 
J'ai testé rapidement en employant le même modèle mais avec des fichiers tout beaux tout neufs et le problème n'est pas présent. Je penche donc pour le changement d'encodage trop brutal qui a créé des erreurs. Je vais donc ré-écrire les fichiers faisant l'affichage en espérant que cela fonctionne. Je vous tiens au courant de ce que ça donne.
 
PS : autre chose bizarre sur le code final, ma balise <link /> se retrouve dans le body alors qu'elle est bien écrite dans le header. (c'est ce qu'affiche Firebug, dans le source de la page le link est bien dans le header et les navigateurs le prennent bien en compte)
 
EDIT : Après quelques recherches plus fructueuses que celles de la veille, il s'agit bien de l'encodage. En passant à l'utf-8 des BOM sont insérés par le serveur puisque lus mais invisibles sur le navigateur.
 
La solution consiste à encoder les fichier en UTF-8 (sans BOM).
 
Mon problème est donc résolu ! :D


Message édité par viketor le 26-03-2010 à 13:01:56
Reply

Sujets relatifs:

Leave a Replay

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