IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

EDI, CMS, Outils, Scripts et API PHP Discussion :

Importer des données Excel: Probleme Encodage Caractères Arabe


Sujet :

EDI, CMS, Outils, Scripts et API PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 5
    Par défaut Importer des données Excel: Probleme Encodage Caractères Arabe
    Bonjour,
    J'essaye d'importer une liste de personnes situé dans un fichier Excel 2003 (*xsl) pour les stocker dans une table mysql.
    j'ai utilisé l'outil Excel_Reader (sourceforge) et cela fonctionne parfaitement avec des données en caractères latin.

    Le problème: c'est que les noms dans le fichier Excel sont en Arabe !

    j'ai utilisé l'encodage UTF-8 Unicode pour ma table Mysql, j'ai testé une insertion via phpmyadmin et ca a marché en tapant le text en arabe.

    j'ai placé dans mon script PHP l'instruction:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $data->setOutputEncoding('UTF-8');
    mais en sortie j'ai un affichage du genre :

    Numéro | Nom | Date de naissance

    1 | أيت عامر امال ليديا | 10/06/1996
    2 | بخوش ندى | 14/09/1997
    3 | بربار يامندة نهال | 23/09/1998
    j'ai essayé de copier le contenue du fichier Excel et le placer dans un fichier text pour le lire avec les fonction PHP de lecture de fichiers ( file() ) et ca a donne le même résultat ! ( ' بربار يامندة Ù†Ù ') !!!!!!!!!!!!!

    je voudrai afficher ces nom en arabe et les insérer dans ma table Mysql.
    si quelqu'un peut m'indiquer la solution avec Excel_reader ou même avec la classe COM de PHP.

    Merci.

  2. #2
    Membre Expert Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Par défaut
    UTF8 est OK pour toutes les langues, dans ton cas le problème vient peut être du fichier excel, au moment de la lecture des données par le PHP, ces données ne sont peut être pas en UTF8 ... a verifier ..

    tu as essayé de passer par un CSV plutot qu'un XLS ?

  3. #3
    Membre à l'essai
    Inscrit en
    Octobre 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 5
    Par défaut
    les fichier fourni sont de nombre important et tous au format xls (Exemple: http://egene.comze.com/RDN/1m1.xls
    Je suis obligé de faire avec ce format.

    excuse moi mais je n'ai aucune idee de la nature des données dans le fichier xls (je ne sais pas comment le savoir) tu peux le voir avec l'exemple que j'ai link.
    sinon voici le code que j'ai utilisé pour lire les données depuis xls:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
     require_once 'Excel/reader.php';
     $data = new Spreadsheet_Excel_Reader();
     $data->setOutputEncoding('UTF-8');
     
     $data->read('1m1.xls'); 
     error_reporting(E_ALL ^ E_NOTICE);
     
     echo '<table border="0" celspacing="1" bgcolor="#EEEEFF">
      <tr bgcolor="#CCCCFF">
        <th scope="col">Numéro</th>
        <th scope="col">Nom</th>
     
        <th scope="col">Date de naissance</th>		
     
      </tr>';
     
    	$rowIndex=1;
    	while ($data->sheets[0]['cells'][$rowIndex][NUM]!=''){
     
    		echo '
    		<tr bgcolor="#ffffff">'.	
     
    		   '<td>'.$data->sheets[0]['cells'][$rowIndex][1].'</td>
    		    <td>'.$data->sheets[0]['cells'][$rowIndex][2].
                            ' '.$data->sheets[0]['cells'][$rowIndex][3].'</td>
    		    <td>'.$data->sheets[0]['cells'][$rowIndex][4].'</td>
     
    		</tr>';
     
     		$rowIndex++;
    	}
    	echo '</table>';
    Edit: xls pas xsl (err de frape)

  4. #4
    Membre Expert Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Par défaut
    Citation Envoyé par hasary Voir le message
    je n'ai aucune idee de la nature des données dans le fichier xsl
    vérifier les spécifications du format XLS (XSL ?) sur le site de microsoft.


    a ta place je ferais un test en passant un XLS en CSV et en jouant sur l'encodage du CSV.

  5. #5
    Membre à l'essai
    Inscrit en
    Octobre 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 5
    Par défaut
    J'ai converti en CSV et ca me donne des ?????????? ??????? ????? 12/03/1996
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!

  6. #6
    Membre Expert Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Par défaut
    ton CSV est bien en UTF_8 ?
    si oui alors faut trouver le bon encodage dans dans le XLS (voir message précédent)

Discussions similaires

  1. Importer des données Excel dans une table Access
    Par Flaguette dans le forum Modélisation
    Réponses: 3
    Dernier message: 25/09/2008, 21h50
  2. importer des données Excel dans une BD Access
    Par lemerite dans le forum VBA Access
    Réponses: 3
    Dernier message: 19/02/2008, 13h34
  3. Importer des données Excel dans sas8
    Par jean girolle dans le forum SAS Base
    Réponses: 5
    Dernier message: 10/08/2007, 16h40
  4. Importer des données Excel vers BD Access
    Par technopole dans le forum Access
    Réponses: 1
    Dernier message: 03/07/2006, 14h37
  5. Importer des données excel vers outlook
    Par faayy dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 17/10/2005, 09h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo