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

Delphi Discussion :

orientation arabe et francais


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Inscrit en
    Août 2008
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 41
    Par défaut orientation arabe et francais
    salam,
    j'ai exporté un fichier txt via delphi avec base de données mysql
    le fichier contient le français et l'arabe mais le problème c'est l'arabe toujours repasse à la droite lorsque'il ya des chiffres après l'arabe voila l'exemple:
    id,name,dest
    1,Ruisseau - العناصر ,36.74207
    tantdisque moi je veux l'affcihage dans le fichier comme ca:
    id,name,dest
    1,Ruisseau - العناصر,chiffres(36.74207)
    je vous remercie beaucoup pour votre aide.

  2. #2
    Membre Expert
    Avatar de pprem
    Homme Profil pro
    MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Inscrit en
    Juin 2013
    Messages
    1 876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 876
    Par défaut
    Bonjour
    Si c'est toi qui génère le fichier texte, ça doit venir de ton code.
    Peux-tu nous en montrer un morceau ? Quelle version de Delphi utilises-tu ?

  3. #3
    Membre actif
    Inscrit en
    Août 2008
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 41
    Par défaut
    salam et merci pour votre reponse,
    pour la version de delphi est delphi7
    pour la génération du fichier text je fais l'extraction des données de la base de données par une requête sql tels que Interclassement des champs est de UTF8
    ensuite je remplie les resultats dans une variable Tstrings et puis je fais le save sous format text:
    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
    var data:Tstrings;
    SQL.Clear;
     SQL.add('SET NAMES utf8');
     ExecSQL;
    SQL.Clear;
     SQL.add('select* from table where site="'+site+'" ORDER BY id');
     Prepared;
     Open;
    ligne:='ch1,ch2,ch3,ch4';
    data.add(ligne);
      for iRow:=1 to table.recordcount do
    begin
    ligne:=FieldbyName('ch1').AsString+','+FieldbyName('ch2').AsString+','+FieldbyName('ch3').AsString+','+FieldbyName('ch4').AsString;
      data.add(ligne); next;
     
      end;
       data.SaveToFile(chemin+'monfichier.txt');
    merci d'avance.

  4. #4
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 143
    Par défaut
    Il est évoqué l'affichage d'un fichier ?
    Faudrait vérifier la donnée hexadécimal, peut-être que c'est l'éditeur de fichier qui affiche l'arabe (reconnu par l'UTF-8) comme cela mais ce n'est pas la réalité dans le fichier

    D'ailleurs, lignecontient bien de l'UTF8 brut ?
    L'objet Table et sa couche d'accès à la DB ne fait d'elle même la conversion UTF8 vers ANSI ?
    Si oui, cela ne serait pas surprenant
    Si non, cela implique que tous les affichages font manuellement un UT8Decode ou alors via des composants TNT ?

    N'est-ce pas juste une illusion de mélange d'Arabe et de Français avec le Français en ASCII (donc pas d'accent) et l'arabe juste en ANSI 127+,
    la configuration de Windows pour les applications ANSI étant Windows-1256 créant la confusion ?
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  5. #5
    Membre actif
    Inscrit en
    Août 2008
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 41
    Par défaut
    salam et merci pour votre attention,
    bon la ligne est une variable de type widestring
    le fichier txt(bloc notes) se génère sous le codage UTF8 pas de probleme pour l'encodage mais le probleme c'est l'affichage du mélange l'arabe avec le francais et surtout quand il y a des données chiffres après le mot arabe ,le contenu de fichier génèré est comme ca:
    id,name,dest
    1,Ruisseau - العناصر ,36.74207
    mais moi je veux l'affichage de mot arabe avant (36.74207) donc le mot arabe se repasse toujours à la droite lorsqu'il y a des chiffres après.

    merci mon frère.

  6. #6
    Membre Expert
    Avatar de pprem
    Homme Profil pro
    MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Inscrit en
    Juin 2013
    Messages
    1 876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 876
    Par défaut
    ce code source ne correspond pas à l'exemple, on ne peut donc pas répondre correctement

  7. #7
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 143
    Par défaut
    [HS ON]
    Citation Envoyé par didoalilo Voir le message
    salam et merci pour votre attention,.
    Salam ? Tient d'habitude, c'est interprété en Shail ou Share, on ne m'a pas encore fait Salam ou Salami
    Mon speudo c'est Shaï Le Troll comme Shai-Hulud, merci de ne pas l'écorcher !
    [HS OFF]




    Citation Envoyé par didoalilo Voir le message
    bon la ligne est une variable de type widestring.
    En D7, AsString retourne un String alors affecter une concaténation de String que cela soit dans un String ou WideString cela ne doit pas changer grand chose.
    le String est considéré comme de l'ANSI, est-ce qu'il y a une conversation de CharSet du Windows-1252 ou Windows-1256 par les API des BSTR, je suis bien trop rouillé en D7 pour le savoir !
    Mais comment mentionné l'affectation dans une TStrings (dont nous n'avons pas l'instanciation, je suppose en TStringList), encore une fois, mes souvenirs en D7 sont bien trop rouillé pour le passage Unicode vers le charset ANSI de l'application

    Citation Envoyé par didoalilo Voir le message
    le fichier txt(bloc notes) se génère sous le codage UTF8 pas de probleme pour l'encodage .
    Avez-vous mis un BOM ?
    Selon vos dire AsString retourne donc une chaine UTF8, chaque caractère arabe est codé sur deux octets
    Et votre gestion d'affichage doit être compliqué si depuis la DB tout est remonté en UTF8 et que c'est l'application qui fait le recodage en ANSI (ou alors affichage en TNT Unicode )

    Citation Envoyé par didoalilo Voir le message
    mais le probleme c'est l'affichage du mélange l'arabe avec le francais ...
    Encore une fois, Veuillez utiliser un Editeur HEXADECIMAL pour vérifier si c'est un problème d'affichage ou de données
    Soyez précis dans votre argumentation !
    Pourquoi ne pas joindre d'ailleurs un fichier TXT en pièce jointe ?

    Comme il a été remarqué, le code montre quatre champ (3 virgules) alors que le fichier ne contient que trois champ (2 virgules)
    Difficile de comprendre votre problème dans cette situation



    [HS ON]
    Citation Envoyé par didoalilo Voir le message
    merci mon frère
    De rien mais éviter je vous prie ce type de familiarité
    [HS OFF]
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

Discussions similaires

  1. Réponses: 2
    Dernier message: 05/04/2011, 13h54
  2. codepage pour l'arabe et le francais
    Par saidus dans le forum Bases de données
    Réponses: 5
    Dernier message: 17/10/2010, 11h11
  3. Editer des pages qui contiennent et du francais et de l'arabe
    Par thaundeadboss dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 01/10/2009, 19h56
  4. comment utiliser l'arabe dans une application en francais
    Par nesrine6215 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 28/12/2008, 00h39
  5. zone de texte en arabe et en francais
    Par EE dans le forum Access
    Réponses: 3
    Dernier message: 09/05/2006, 15h05

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