|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Nouveau Membre du Club
![]() Inscription : novembre 2008 Messages : 78 ![]() |
Hello à tous
Voila voila, j'essaie d'importer des données provenant d'un fichier csv généré via AdWords. Le fichier se trouve sur le serveur, et je l'ouvre donc en local dans mon php. Code :
Code :
Firefox, par contre, montre un affichage buggé. Comme ca : ![]() En réalité, ce n'est pas un affichage buggé, c'est le problème d'encodage qui m'empêche de traiter mes données. Comment faire pour formater le fichier / le champ / la ligne de telle manière que l'encodage des caractères soit normal ? J'ai tenté les fonctions "html_entity_decode" et autres, ca aide pas. Merci d'avance ! |
||||
|
|
00
|
|
|
#2 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
Veille a ce que ton fichier csv et ton fichier php aient le meme encodage.
Ce que tu obtiens est quand même étrange. |
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Inscription : novembre 2008 Messages : 78 ![]() |
Et comment je veille à ça ? ^^
|
|
|
00
|
|
|
#4 |
|
Nouveau Membre du Club
![]() Inscription : novembre 2008 Messages : 78 ![]() |
J'ai testé avec un utf8_decode, ça aide pas non plus.
|
|
|
00
|
|
|
#5 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
Quand je dis que le résultat est étrange c'est justement que ca ne ressemble pas a de l'utf8 ni a de l'iso mal écrit car ce serait les caractères accentués qui seraient touchés.
|
|
|
00
|
|
|
#6 |
|
Nouveau Membre du Club
![]() Inscription : novembre 2008 Messages : 78 ![]() |
Je suis bien d'accord, là on a l'impression que chaque caractères est bizarrement encodé. Si je vérifie la présence de "a" dans la chaine, je le trouve. Mais si je cherche "am", pas de résultat. Je ne comprends vraiment pas...
De plus, la fonction mb_detect_encoding ne me donne pas l'encodage du string. Ca retourne vide. Vraiment plus d'idées moi |
|
|
00
|
|
|
#7 | ||||
|
Nouveau Membre du Club
![]() Inscription : novembre 2008 Messages : 78 ![]() |
Trouvé ! Je donne la solution, au cas où quelqu'un ait le même problème, ça lui permettra de conserver les cheveux que je n'ai plus :
Il y a un élément qui s'appelle le BOM : http://fr.wikipedia.org/wiki/Marque_...dre_des_octets Celui-ci était inclus dans mon fichier, et c'est son marquage qu'on voit au début du premier champ, les deux caractères étranges. Il existe plusieurs marquages possibles, en fonction du format du fichier, qu'une fonction trouvée sur php.net vous permet de trouver facilement : Code :
La solution : trouver avec quel encodage ça fonctionne bien, et utiliser mb_convert_encoding. On peut le faire facilement grâce à ceci : Code :
|
||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com