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

Composants VCL Delphi Discussion :

Xml et caractères en exposant


Sujet :

Composants VCL Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 96
    Par défaut [Resolu]Xml et caractères en exposant
    Bonjour

    Je suis un débutant en programmation et je rencontre un problème lors de la création d'un fichier xml.
    Quand j'essaye de récupérer le texte "™" par exemple, lorsque j'ouvre le xml dans IE, j'ai un symbole à la place (petit rectangle). Lorsque j'ouvre le fichier xml avec le bloc note j'ai le code ™ à la place.

    J'ai cherché sur internet, mais j'ai pas trouvé de solution. Quelqu'un peut-il m'aider ?
    Merci.

    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
    34
    35
    36
    37
    38
    procedure TForm1.EcritureCatalogue(Fichier: TTraitement);
    Var
    Catalog,Properties, movie, Contents : IXMLNode;
    begin
    If  compteur = 0 then
    begin
    XMLDoc.Version:='1.0';
    XMLDoc.Encoding:='iso-8859-1';
    XMLDoc.DocumentElement := XMLDoc.CreateElement('AntMovieCatalog','');
              XMLDoc.DocumentElement.Attributes['Format'] := '35';
              XMLDoc.DocumentElement.Attributes['Version'] := '3.5.1 (2007-09-22)';
              XMLDoc.DocumentElement.Attributes['Date'] := '17/08/2008 17:44:15';
          Catalog:=XMLDoc.DocumentElement.AddChild('Catalog');
              Properties := Catalog.AddChild('Properties');
              Contents := Catalog.AddChild('Contents');
     
    end;
    compteur:=compteur+1;
    movie := XMLDoc.DocumentElement.ChildNodes.FindNode('Catalog').ChildNodes.FindNode('Contents').AddChild('Movie');
     
                  movie.Attributes['Number'] :=compteur;
                  movie.Attributes['Checked'] :='True';
                  movie.Attributes['Date'] := date;
                  movie.Attributes['OriginalTitle'] :=Fichier.OriginalTitle;
                  movie.Attributes['Length'] :=Fichier.Lengths;
                  movie.Attributes['URL'] :=Fichier.URL;
                  movie.Attributes['VideoFormat'] :=Fichier.VideoFormat;
                  movie.Attributes['VideoBitrate'] :=Fichier.VideoBitrate;
                  movie.Attributes['AudioFormat'] :=Fichier.ListeFormatAudio;
                  movie.Attributes['AudioBitrate'] :=Fichier.AudioBitrate;
                  movie.Attributes['Resolution'] :=Fichier.Resolution;
                  movie.Attributes['Framerate'] :=Fichier.Framerate;
                  movie.Attributes['Languages'] :=Fichier.ListeLanguagesAudio;
                  movie.Attributes['Subtitles'] :=Fichier.ListeLangauagesSousTitre;
                  movie.Attributes['Size'] :=Fichier.Size;
    ProgressBar1.Position:= ProgressBar1.Position + 1;
    fichier.destroy;
    end;

  2. #2
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 089
    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 089
    Par défaut
    c'est normal, le "™" que tu utilises c'est le code 153 du charset 'window 1252' mais tu encode la page en 'iso-8859-1' où le 153 c'est un caractère de contrôle non imprimable donc un carré

    sinon passe à un encodage UTF8 mais ce affichera des combinaisons multicaratères ...
    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

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 96
    Par défaut
    Merci de la réponse et désolé du retard (fêtes oblige)

    J'ai essayé avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    XMLDoc.Version:='1.0';
    XMLDoc.Encoding:='UTF-8';
    Mais les accents sont remplacés par des trucs bizarres et le "tm" ne passe pas, j'ai "â„¢" à la place

    Une autre idée ?
    Merci

  4. #4
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 089
    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 089
    Par défaut
    Bien sur, c'est un encodage, si tu passe de l'un à l'autre, il faut traduire les caractères ... ça ne se fait pas tout seul !

    pourquoi forces-tu l'encoding ? le fichier devrait le contenir !
    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 confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 96
    Par défaut
    Salut

    Traduire les caractères, je veux bien mais comment faut-il s'y prendre ?

    pourquoi forces-tu l'encoding ? le fichier devrait le contenir !
    Ben, j'utilise TXmlDocument et quand j'utilise la procédure SaveToFile je n'ai pas les accents et les lettres en exposant. Mon xml n'a aucune entête.
    En rajoutant XMLDoc.Encoding:='iso-8859-1", s'obtient les accents.

  6. #6
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 089
    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 089
    Par défaut
    Au fait, il ne faut pas utiliser Destroy mais Free pour libérer un objet ...

    Donc tu es en écriture, donc si tu mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    XMLDoc.Encoding:='UTF-8';
    tu auras tes caractères mais notepad ne pourra pas les lire, seul un navigateur comme FireFox, IE ... ou un éditeur XML gérant correctement le CharSet ira faire la transcription des Äx ... en caractère lisible, tu devrais te documenter sur ce qu'est un CharSet !
    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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] [XML] problème caractères accentués
    Par Mathcoz dans le forum SQL Procédural
    Réponses: 8
    Dernier message: 31/01/2007, 18h53
  2. [C#] insertion de caractère en exposant dans une string
    Par papouAlain dans le forum Windows Forms
    Réponses: 9
    Dernier message: 11/07/2006, 15h45
  3. [DOM] Erreur parser fichier xml avec caractère spéciaux
    Par turcotm dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 19/06/2006, 09h01
  4. [FLASH MX2004] petit soucis XML et caractères spéciaux
    Par Isses dans le forum Intégration
    Réponses: 20
    Dernier message: 25/04/2006, 13h24
  5. delphi XML / HTML caractéres speciaux !
    Par adem dans le forum EDI
    Réponses: 2
    Dernier message: 29/08/2002, 17h48

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