Page 1 sur 1
Les nombre décimaux : barrière des langues !
Posté : 22 juil. 2005, 09:30
par guilt92
Bonjour,
j'ai un problème pour lequel je ne vois aucune solution, ce qui est inquiétant...
En fait je crée un site en php en anglais, et donc lorsque je demande par exemple une durée cela varie entre 0.25 et 5 avec un pas de 0.25. Comme c'est de l'anglais le séparateur est bien sur le .
En revanche lorsque je l'exporte en .csv il est lu par des Francais qui utilisent Excel en francais, et donc les chiffres avec des . sont considérés comme des string.
Comment puis je solutionner ce problème ? Je peux éventuellement remplacer tous les ". "par des "," dans le csv mais il y a des descriptions donc cela n'est pas idéal.
Merci d avance
Posté : 22 juil. 2005, 09:37
par mere-teresa
Un bouton pour choisir le format de conversion ?
Posté : 22 juil. 2005, 09:44
par guilt92
comment ca ?
Posté : 22 juil. 2005, 09:45
par mere-teresa
J'imaginais la page :
Votre fichier va être exporté en CSV, voulez vous le format [anglais - séparateur décimal .][français - séparateur décimal ,]
Posté : 22 juil. 2005, 09:47
par zeus
Si tu es sûr que le cvs ne sera lu que par des français, remplace le . par une , dans tes champs AVANT de l'exporter
Posté : 22 juil. 2005, 09:51
par guilt92
AVANT de l'exporter
je ne vais pas faire dans la base de données si ?
Parce que après les valeurs ne seront plus interprétables ?
Il faut que je fasse une copie de la BDD, que je remplace et que j'exporte ?
Posté : 22 juil. 2005, 09:53
par guilt92
Votre fichier va être exporté en CSV, voulez vous le format [anglais - séparateur décimal .][français - séparateur décimal
ok pour cela mais si la personne choisi francais comment je le traite ?
Posté : 22 juil. 2005, 10:03
par zeus
Si tu exporte avec un SELECT INTO OUTFILE, ma solution ne fonctionne pas, c'est vrai.
Je vais chercher un peu
Posté : 22 juil. 2005, 10:11
par guilt92
Effectivement c'est ce que j'utilise, en tout cas pour le moment...
Merci
Posté : 22 juil. 2005, 10:18
par mere-teresa
Posté : 22 juil. 2005, 10:35
par guilt92
LOAD DATA INFILE est le complémentaire de SELECT ... INTO OUTFILE . Syntaxe de SELECT . Pour écrire des données depuis une table dans un fichier, utilisez SELECT ... INTO OUTFILE . Pour lire les données dans la table, utilisez LOAD DATA INFILE
Au niveau du traitement des caractère je n'ai pas vu plus de possibilités.
Posté : 22 juil. 2005, 11:31
par guilt92
Seule solution pour le moment :
Editer le fichier .CSV, utiliser STRTOK, remplacer les "." par des "," dans le bon champ, reconcaténer la chaine et utiliser le replace...
Si qq un a plus simple je suis preneur !!!!
Posté : 22 juil. 2005, 15:15
par guilt92
Finalement utilisation split, ensuite modification des cases puis création du nouveau fichier ligne par ligne.
Voila merci à tous.