J'ai un souci avec un de mes scripts permettant la lecture d'un fichier enregistré en txt mais au format csv avec comme séparateur la tabulation
Je récupère une colonne $data[7] qui contient une valeur (-1 302,26), vous remarquerez la présence d'un espace dans le nombre et d'un symbole moins avant. Ayant besoin d'enlever le moins et l'espace ainsi que la virgule que je dois remplacer par un point j'ai fait des str_replace
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 $handle = fopen("1.txt", "rb"); while (($data = fgetcsv($handle, 1000, "\t")) !== FALSE) { $ht=str_replace(",",".",$data[7]); $ht=str_replace("-","",$ht); $ht=str_replace(" ","",$ht); echo $ht; }
Les 2 premiers fonctionnent mais le troisième ne marche pas, j'ai même essayé ma propre fonction et il s'avère que l'espace n'est pas reconnu en tant que tel j'ai essayé ==" " et aussi chr(32) rien ne fonctionne l'espace pose un gros souci
Est-ce quelqu'un a déjà eu ce genre de souci est-ce un souci d'encodage du fichier txt d'origine ?
J'ai essayé aussi de tester mes fonctions avec une variable contenant "1 302,26" et dans ce cas celà fonctionne parfaitement. J'en ai conclu logiquement qu'il y a un souci et qu'il y a forcément une différence malgré le fait que en regardant on ne voit aucune différence
Qu'en pensez vous ?
Partager