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

Langage Delphi Discussion :

Enregistrer un mémo en UTF-8 sur Delphi 2007


Sujet :

Langage Delphi

  1. #1
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 69
    Points : 42
    Points
    42
    Par défaut Enregistrer un mémo en UTF-8 sur Delphi 2007
    Bonjour,

    j'utilise Delphi 2007 et je dois enregistrer un memo dans un fichier UTF-8.

    J'ai pu ajouter les 3 caractères au début du fichier pour signaler que c'est un UTF-8 mais tous mes caractères spéciaux (é, à è, ü,...) s'affiche bizarrement.

    Avez-vous une idée?

    Salutations et merci d'avance!

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 534
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    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 : 13 534
    Points : 25 082
    Points
    25 082
    Par défaut
    Qu'appele tu bizarrement ?
    Les 3 Caractères, c'est le BOM - Byte Order Mark
    EF BB BF pour l'UTF8
    ensuite é, à è, ü... s'affiche é, Ã*, è...

    Ne pas confondre UTF8 et UTF-16 (charset de WideString)

    Dans les Delphi récents, à partir de 2009, tu peux définir sans le SaveToFile du TStrings, le charset
    Avant, tu peux écrire dans un TMemoryStream, que tu encode via UTF8Encode vers un TFileStream
    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 du Club
    Inscrit en
    Juin 2007
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 69
    Points : 42
    Points
    42
    Par défaut
    Oui exactement.. Tous les caractères avec un accents ne sont pas afficher.

    Je veux vraiment de l'UTF-8 car c'est pour un exportation des données pour l'intégrer dans une application Web.

    J'ai chercher et trouvé pour Delphi 2009 mais rien pour Delphi 2007.
    Je vais essayer.

    merci

  4. #4
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 534
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    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 : 13 534
    Points : 25 082
    Points
    25 082
    Par défaut
    En même temps, une application Web peut très bien chargé un fichier latin-1 ou windows-1252 !

    mais tous mes caractères spéciaux (é, à è, ü,...) s'affiche bizarrement.
    Tous les caractères avec un accents ne sont pas afficher.
    Bizarre ou pas ? Affiché ou pas ? Affiché dans ?

    Notepad de WinXP, gère l'ANSI (window-1252), UTF-8 et Unicode, tu peux vérifier avec le contenu de ton fichier
    UltraEdit lui te permettra de vérifier le BOM et le contenu Hexadécimal réel !

    Quel est ton code d'enregistrement actuel ?
    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 du Club
    Inscrit en
    Juin 2007
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 69
    Points : 42
    Points
    42
    Par défaut
    En même temps, une application Web peut très bien chargé un fichier latin-1 ou windows-1252 !
    On m'impose le UTF-8
    Bizarre ou pas ? Affiché ou pas ? Affiché dans ?
    Affiche comme un caractère spécial. Style '▪'
    Je vais regarder avec UltraEdit pour être sûr du fichier texte!
    Quel est ton code d'enregistrement actuel ?
    Le code Delphi?
    Pas encore fait, je vais le faire dans un petit moment!
    Je te tiendrai au courant!
    Merci

  6. #6
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 69
    Points : 42
    Points
    42
    Par défaut
    Tout est OK!

    Merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Var
      FS : TFileStream;
      FichierAnsiString :AnsiString;
     
    begin
    ...
      FS := TFileStream.Create(NomFichier, fmCreate);
      FichierAnsiString:= Utf8Encode(Memo1.Text);
      FS.Write(FichierAnsiString[1],Length(FichierAnsiString));
      Fs.Free;
    ...
    end

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 27/03/2009, 10h31
  2. Renseignements sur Delphi 2007 (Contenu, Licence)
    Par juliano77 dans le forum Débuter
    Réponses: 5
    Dernier message: 16/11/2007, 00h14
  3. installation de composant sur delphi 2007
    Par aityahia dans le forum EDI
    Réponses: 3
    Dernier message: 03/07/2007, 14h17
  4. TCP sur delphi 2007
    Par Oregon09 dans le forum Delphi .NET
    Réponses: 2
    Dernier message: 14/05/2007, 15h25

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