[RESOLU]-[PHP] - Affichage de caractérfe bizard lors d'un include

- Affichage de caractérfe bizard lors d'un include [RESOLU]-[PHP] - PHP - Programmation

Marsh Posté le 18-06-2007 à 16:48:02    

Bonjour,
 
Tous est déjà dans le titre, mais pour étoffer l'explication :
quand je appel (include, require,include _once ou require_once) à une class (fichier contenant une classe) je me retrouve systématiquement avec des caractére bizard situé juste après mon inclusion!!
 
je ne comprend pourquoi, j'ai vérifié tous mes fichiers, aucun ne poccéde ces caractéres !
voici les dit caractére :

Code :
  1. 


Message édité par stef_dobermann le 19-06-2007 à 10:44:32

---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 18-06-2007 à 16:48:02   

Reply

Marsh Posté le 18-06-2007 à 18:15:32    

Montre nous ton include et l'entête de ton fichier inclut. Nous ne sommes pas devin.


---------------
"Nous avons tous nos machines du temps. Celles qui nous ramènent en arrière sont les souvenirs, celles qui nous projettent en avant sont les rêves."
Reply

Marsh Posté le 18-06-2007 à 19:15:26    

utf-8 powa


---------------
.:: Kmeleon ::.
Reply

Marsh Posté le 18-06-2007 à 19:23:44    

fichier qui includ :

Code :
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  5. <title>Commande</title>
  6. </head>
  7. <body><?PHP
  8. include('class.cartouches.php');
  9. $bdd = new cartouches($conf_db_serveur, $conf_db_user, $conf_db_pass, $conf_db_base);
  10. //reste du fichier php


 
Début du fichier contenant la classe :

Code :
  1. <?PHP
  2. class mysql {
  3. var $host = '';
  4. var $user = '';
  5. var $pass = '';
  6. var $base = '';
  7. var $connect_id = 0;
  8. var $error = '';
  9. var $result_id = '';
  10. // PRIVATE : Constructeur initialise les parametre de la connexion
  11. function mysql($Host='localhost', $User='root', $Pass='', $Base='') {
  12.  $this->host = $Host;
  13.  $this->user = $User;
  14.  $this->pass = $Pass;
  15.  $this->base = $Base;
  16. }//fin mysql
  17. // ca continu encore ....
  18. }
  19. // ca continu sur plusieurs lignes
  20. }
  21. class cartouches extends mysql {
  22. var $prix_plus = array();
  23. var $prix_moins = array();
  24. var $ancienprix = array();
  25. var $reftmpcde = "";
  26. function cartouches($Host='localhost', $User='root', $Pass='', $Base='') {
  27.  parent::mysql($Host, $User, $Pass, $Base);
  28. }//fin cartouches


Résultat :

Code :
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  5. <title>Commande</title>
  6. <script language="JavaScript1.2">
  7. //<!--
  8. function cacher() {
  9.  $j = document.form1.max.value;
  10.  if (document.form1.cachecache.checked == true) {
  11.   for($i=0;$i<=$j;$i++) {
  12.    document.getElementById("test"+$i).style.display = "none";
  13.    document.getElementById("test_"+$i).style.display = "inline";
  14.   }
  15.  } else {
  16.   for($i=0;$i<=$j;$i++) {
  17.    document.getElementById("test"+$i).style.display = "inline";
  18.    document.getElementById("test_"+$i).style.display = "none";
  19.   }
  20.  }
  21. }
  22. //-->
  23. </script>
  24. </head>
  25. <body>
  26. suite du code HTML


j'ai essayé d'enlever les includes, et je n'ai pas les caractéres bizard !
 
j'utilise easyPHP 1.7 sous Windows XP, sur 2 machine différentes !
 
voila pour les extrais de code
UTF-8, je veux bien mais je sui ssous Windows XP, mon serveur de teste et prod aussi !
je n'ai pas encore essayé chez mon hébergeur !!


Message édité par stef_dobermann le 18-06-2007 à 19:26:43

---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 18-06-2007 à 21:25:31    

Juste un petit truc, en javascript y'a pas de $ devant des variables...
 
Pour tes signes bizarres, ils sont où tes echos ?


---------------
.:: Kmeleon ::.
Reply

Marsh Posté le 18-06-2007 à 21:41:48    

kmeleon1 a écrit :

Juste un petit truc, en javascript y'a pas de $ devant des variables...

 

Pour tes signes bizarres, ils sont où tes echos ?


Ben si tu peux nommer tes variables et tes fonctions avec un $ si tu as envie. meme si c'est débile de le faire dans son cas

 

Et accessoirement, le fichier que tu cherches à include est en utf8, supprime le BOM et basta avec un outil comme notepad++ par exemple


Message édité par gatsu35 le 18-06-2007 à 21:42:34
Reply

Marsh Posté le 18-06-2007 à 22:05:06    

Ouai enfin si il lui affiche "", c'est que y'a un echo() quelque part dans sa classe... tu peux nous dire où ?


---------------
.:: Kmeleon ::.
Reply

Marsh Posté le 19-06-2007 à 06:03:18    

kmeleon1 a écrit :

Ouai enfin si il lui affiche "", c'est que y'a un echo() quelque part dans sa classe... tu peux nous dire où ?


Ya pas de echo [:pingouino]
Ces 3 caractères représentent le BOM pour dire que le fichier est codé en UTF-8 (tiens : http://fr.wikipedia.org/wiki/Marque_d'ordre_des_octets )
Donc le gars doit avoir la plupart de ses fichiers en ISO 8859-1 mais celui-ci doit être en UTF-8

 

En plus c'est toi même qui dit PHP powa

 

Donc plusieurs solutions avec notepad++ il ouvre le fichier il fait CTRL+A, CTRL+X, puis il modifie l'encodage en Ansi... (Format > Encoder en Ansi), puis il fait CTRL+V
(faire les CTRL+X/ CTRL+V permet de ne pas perdre les caractères accentués lorsque l'on change l'encodage.


Message édité par gatsu35 le 19-06-2007 à 06:04:35
Reply

Marsh Posté le 19-06-2007 à 09:02:49    

je veux vous croire, mais je ne comprend comment ce fichier a bien pu passer en UTF-8 quand je ne troune que sous Windows en ISO-8859-1
 
mais je vais essayer avec Notepad++ comme vous le dite !
 
pour je javascript je vais enlever les $ devant les variables ! :jap:

Reply

Marsh Posté le 19-06-2007 à 10:39:08    

Le bloc-note de windows XP permet d'enregister le texte en UTF-8.
La pluspart des éditeurs de texte dédié à la programmation le permettent aussi.
En bref, il suffit d'avoir changé le format par mégarde au moment d'enregistrer le fichier et le probléme apparait.

Reply

Marsh Posté le 19-06-2007 à 10:39:08   

Reply

Marsh Posté le 19-06-2007 à 10:43:48    

effectivement c'était bien un problème d'encodage UTF-8
un grand merci à tous

Reply

Sujets relatifs:

Leave a Replay

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