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

Lazarus Pascal Discussion :

Gestion des accents : quel casse-tête [Lazarus]


Sujet :

Lazarus Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 122
    Par défaut Gestion des accents : quel casse-tête
    Bonjour à toutes et à tous,

    Dans un programme, mes fichiers *.pas sont encodés en UTF8.

    Quand j'utilise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      s:= Copy('Problème 1', 10, 1);
    ça me retourne ' ' ; c'est-à-dire l'espace compris entre Problème et 1. Le 'è' est considéré comme composé de deux octets.

    J'aimerais qu'il soit considéré comme un caractère sur 1 octet seulement. J'ai essayé différentes chose : UniCodeString, UTF8Encode, UTF8Décode , ... je m’emmêle les crayons, je ne m'en sors pas.

    Que faut-il faire pour gérer les caractères accentués comme étant codés sur un seul octets ?

    Cordialement.

    Pierre.

  2. #2
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 942
    Billets dans le blog
    6
    Par défaut
    Bonjour,
    Il suffit d'utiliser les fonctions UTF8Copy, UTFLen (ou UTF8Length ?) et consorts qui envisagent les caractères UTF8 et ne dissèquent pas les octets qui les composent.
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  3. #3
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 251
    Par défaut
    hello,
    comme le dit tourlourou il faut utiliser Utf8Copy car ta chaîne 'Problème 1' dans les versions contemporaines de Lazarus est en UTF8.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    s:= Utf8Copy('Problème 1', 10, 1);
    donne bien 1 comme résultat.

    Ami calmant, J.P

  4. #4
    Membre émérite
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 122
    Par défaut
    Merci, avec UTF8Copy, ça fonctionne bien. Entre temps, j'ai fait cet essai sans UTF8 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    S:= Copy('Problème 1', Length('Problème 1'), 1));
    et, que je mette un accent à "problème" ou pas, ça fonctionne aussi !

    Cordialement.

    Pierre.

  5. #5
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 166
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 166
    Par défaut
    Citation Envoyé par ChPr Voir le message
    et, que je mette un accent à "problème" ou pas, ça fonctionne aussi !
    C'est normal. Voilà l'explication :

    Nom : chaine_avec_accent.png
Affichages : 259
Taille : 18,5 Ko

  6. #6
    Membre émérite
    Homme Profil pro
    Chef de projets retraité
    Inscrit en
    Juillet 2011
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Chef de projets retraité
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2011
    Messages : 458
    Par défaut
    Bonjour,

    Citation Envoyé par ChPr Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    S:= Copy('Problème 1', Length('Problème 1'), 1));
    et, que je mette un accent à "problème" ou pas, ça fonctionne aussi !
    Oui mais si le caractère que tu veux sélectionner a un accent tu n'y arriveras pas alors qu'avec le fonctions en UTF8 oui.
    Cela est du au fait que TOUT ce qui n'est pas ASCII (0 à 127) est codé en plusieurs octets en UTF8.
    Et UTF8 est le codage standard de FPC (depuis le version 2) et LAZARUS.

    Cordialement

  7. #7
    Membre émérite
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 122
    Par défaut
    Citation Envoyé par acaumes Voir le message
    ... Oui mais si le caractère que tu veux sélectionner a un accent tu n'y arriveras pas alors qu'avec le fonctions en UTF8 oui. ...
    Cette remarque est décisive

    Cordialement.

    Pierre.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 04/10/2010, 00h23
  2. [EZPDF] gestion des accents
    Par cyreel dans le forum Bibliothèques et frameworks
    Réponses: 13
    Dernier message: 26/06/2007, 18h59
  3. [Regex] gestion des accents dans un mot
    Par joseph_p dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 10/05/2006, 09h04
  4. Gestion des historiques, quel choix ?
    Par ftrifiro dans le forum Langage SQL
    Réponses: 4
    Dernier message: 13/09/2005, 15h18
  5. [Conception] Gestion des accents dans une base de données
    Par MiJack dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 07/07/2005, 11h41

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