Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1490 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Print_r affiche des "?"

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] Print_r affiche des "?"

n°1686496
nekikool
Posté le 14-02-2008 à 18:18:58  profilanswer
 

Bonjour,
Lorsque je fais un print_r sur un array contenant des données que j'ai extraites d'un fichier via explode je retrouve aléatoirement des séries de "????" devant la première valeur d'une ligne, par exemple :
 
    [0] => Array
        (
            [0] => ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������toto
            [1] => toto
            [2] => toto
            [3] => toto
        )
 
    [1] => Array
        (
            [0] => ���������������������������������������������������������������������toto
            [1] => toto
            [2] => toto
            [3] => toto
        )
 
 
 
Voilà, donc le truc c'est que ces points s'affichent uniquement via le print_r, en faisant un echo tab[0][0] j'aurai mon "toto" tout propre.
Ensuite j'ai bien pensé à un problème de fin de ligne/retour chariot lors de l'extraction du fichier mais pour l'instant j'ai rien trouvé. Pareil pour l'encodage, utf-8 partout...
 
Halp!

mood
Publicité
Posté le 14-02-2008 à 18:18:58  profilanswer
 

n°1686558
theredled
● REC
Posté le 14-02-2008 à 21:23:57  profilanswer
 

les ? a priori c'est des caractères pas affichables avec le charset de la page (tu le sais ptet, mais maintenant on est sûr [:dawao]).
Tu dis qu'en faisant un echo tout con ça marche, mais au niveau de la source ça donne quoi ? des espaces ou rien du tout ?


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1686654
koskoz
They see me trollin they hatin
Posté le 15-02-2008 à 00:26:42  profilanswer
 

J'avais pas vu la cat' que je pensais à du C et un tableau pas fermé :o


---------------
Twitter
n°1686814
nekikool
Posté le 15-02-2008 à 12:18:17  profilanswer
 

Bon ça me pose vraiment problème ce bouzin, en faisant un multisort il me tri toutes les lignes avec les points d'interrogation ensemble, mais j'peux même pas les virer après coup avec un preg_replace parce que ce ne sont pas de "vrais" points d'interrogation(j'en ai rajouté quelques uns manuellement et ceux-là sont bien virés).
Bref faut que je trouve le problème à la source, des idées de recherche sur l'encodage du fichier? du script? L'environnement?
 
Halp bis
 
 
Edit : Sur la source il n'y'a rien, aucun caractère spécial, c'est vraiment que le retour chariot ou fin de ligne qui peuvent être mal interprétés, et encore pas systématiquement c'est louche....


Message édité par nekikool le 15-02-2008 à 12:19:45
n°1686826
theredled
● REC
Posté le 15-02-2008 à 12:28:38  profilanswer
 

pour le preg_replace tu peux faire genre preg_replace('#[^A-Za-z0-9]#', '', $chaine), après ça dépend de ta chaine...
 
Mais bon ya un truc à la base


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1686885
nekikool
Posté le 15-02-2008 à 13:35:56  profilanswer
 

Ah ouais c'est pas faux. ^^
J'ai que des caractères classiques alphanumériques donc ça roule.
 
Mais bon ça reste une rustine pour rattrapper un problème que je ne sais pas expliquer...

n°1686920
nekikool
Posté le 15-02-2008 à 14:35:13  profilanswer
 

Note : Finalement sur la source y'a bien quelque chose, dans un editeur de texte quand on positionne le curseur juste là où doivent se trouver les "?" on se retrouve bloqué, en fait le curseur avance virtuellement dans les "?" invisibles.
Donc ils sont bien là, et ça provient bien du fichier de log, reste à savoir comment et où c'est généré même si là c'est un problème sûrement plus généraliste que PHP.
 
Edit : bien visible sous vi sur le serveur ça donne une sorte de "^@", j'pencherai pour un problème d'encodage à la création du log, si ça doit aider quelqu'un quand on a ce genre de problème, tout de suite vérifier sous VI le log, ça évite de tourner autour du pot. Pour la solution je sais pas encore exactement mais c'ets l'encodage utf-8 qui n'est pas reconnu à la création du log.


Message édité par nekikool le 15-02-2008 à 16:49:22

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Print_r affiche des "?"

 

Sujets relatifs
[PHP ou javascript]Récupérer la résolution d'une vidéo flashPHP, SQL Server et la langue arabe
Envoi de formulaire sans PHP[PHP/Mysql] Les trous de sécurité de base à éviter
[PHP] Création tableur excel dans page webProblème connexion SQLServeur avec PHP
commencer le PHP/SQL[RESOLU] Titre de site qui ne s'affiche pas
Petit probléme avec Scipt pour faire des pings en PHP[PHP] Date (mais pas simple)
Plus de sujets relatifs à : [PHP] Print_r affiche des "?"


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR