1. #1
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    septembre 2015
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : septembre 2015
    Messages : 203
    Points : 239
    Points
    239

    Par défaut Gestion de l'encodage des fichiers .pas et .lfm sous Windows

    Bonjour,

    sur mon appareil Windows 7, mon éditeur Lazarus 1.6.2 crée par défaut des unités ou des fiches encodées en ANSI. Je parle des fichiers .pas et .lfm; Je préférerais une création en UTF-8 (without BOM). Où règle-t-on cela ?

    Merci. AD.

  2. #2
    Responsable Delphi

    Avatar de gvasseur58
    Homme Profil pro
    Cultivateur de code (bio)
    Inscrit en
    février 2013
    Messages
    1 020
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Cultivateur de code (bio)
    Secteur : Enseignement

    Informations forums :
    Inscription : février 2013
    Messages : 1 020
    Points : 11 911
    Points
    11 911
    Billets dans le blog
    33

    Par défaut

    Citation Envoyé par ApproxDev Voir le message
    Bonjour,

    sur mon appareil Windows 7, mon éditeur Lazarus 1.6.2 crée par défaut des unités ou des fiches encodées en ANSI. Je parle des fichiers .pas et .lfm; Je préférerais une création en UTF-8 (without BOM). Où règle-t-on cela ?

    Merci. AD.
    Bonjour,

    C'est étrange que l'UTF8 ne soit pas utilisé : la dernière version utilisant ANSI était la 0.9.24 . Quelle est la version de Lazarus utilisée ? Qu'indique la fenêtre de codage de projets/paquets du menu Outils pour les paquets installés ? Est-ce qu'il s'agit d'un projet créé ou de la reprise d'un ancien projet ?

    Cordialement,

    Gilles
    Accès à mon site et à mon blog. Actualités, cours et ressources Delphi, Lazarus et Pascal.
    Pensez à la balise - Quelqu'un vous a aidé ou vous appréciez une intervention ? Pensez au

  3. #3
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    décembre 2011
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : décembre 2011
    Messages : 2 974
    Points : 10 665
    Points
    10 665
    Billets dans le blog
    4

    Par défaut

    Bonjour !

    Voici ce qu'on peut lire sur cette page :

    When you create source files with Lazarus and type some non-ASCII characters the file is saved in UTF8. It does not use a BOM (Byte Order Mark). You can change the encoding via right click on source editor / File Settings / Encoding.

  4. #4
    Responsable Delphi

    Avatar de gvasseur58
    Homme Profil pro
    Cultivateur de code (bio)
    Inscrit en
    février 2013
    Messages
    1 020
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Cultivateur de code (bio)
    Secteur : Enseignement

    Informations forums :
    Inscription : février 2013
    Messages : 1 020
    Points : 11 911
    Points
    11 911
    Billets dans le blog
    33

    Par défaut

    Citation Envoyé par Roland Chastain Voir le message
    Bonjour !

    Voici ce qu'on peut lire sur cette page :
    Bravo, Roland .

    Par défaut, c'est cependant UTF8 qui est choisi, même sans avoir tapé le moindre caractère hors ASCII. En fait, la page de référence est à présent pour FreePascal 3.0.0+ : cette page.

    Mais la solution reste la même en cas de problème : il suffit de choisir par un clic droit sur le source "Paramètres du fichier" puis "Encodage", sachant que l'option UTF8 simple est sans BOM.
    Accès à mon site et à mon blog. Actualités, cours et ressources Delphi, Lazarus et Pascal.
    Pensez à la balise - Quelqu'un vous a aidé ou vous appréciez une intervention ? Pensez au

  5. #5
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    septembre 2015
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : septembre 2015
    Messages : 203
    Points : 239
    Points
    239

    Par défaut

    Bonjour,

    la version installée est lazarus-1.6.2-fpc-3.0.0-win32.exe que j'ai téléchargée le 10/02. Mais il est vrai que j'ai déjà 3 versions installées : une 0.9 en 32 et en 64 pour incompatibilité d'un ancien projet avec la 1.6.2 et également une 1.6.2 64 bits, toutes installées en secondaires.

    Bref en créant un nouveau projet avec lazarus-1.6.2-fpc-3.0.0-win32.exe, j'obtiens l'écran en pièce jointe (que je n'arrive pas à placer en image !?). Le clic droit sur le code puis le choix du paramètre de l'encodage me donne UTF-8 et pourtant Notepad++ m'indique qu'il est en ANSI et l'exploitation du code (sa gestion des caract?res accentu?s) me montre également qu'il est en ANSI. D'ailleurs une fois passé en UTF-8 sans BOM, il fonctionne correctement.

    Merci pour le temps passé pour m'aider, mais je laisse tomber. J'ai presque fini en 2H en Qt. Je pensais y passer moins de temps en Lazarus. Compte tenu du fait que l'installation du paquet Indy se passe mal sous macOX et qu'en plus je n'obtiendrai qu'une version 32 bits à l'arrivée dans cet OS et qu'au final j'ai déjà passé plus de temps que prévu, mon tchat ne sera pas réalisé en Lazarus.

    Cordialement. AD.
    Images attachées Images attachées  

  6. #6
    Membre averti

    Homme Profil pro
    Rédacteur technique (retraité)
    Inscrit en
    octobre 2009
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Rédacteur technique (retraité)

    Informations forums :
    Inscription : octobre 2009
    Messages : 102
    Points : 433
    Points
    433

    Par défaut

    Citation Envoyé par ApproxDev Voir le message
    ...
    Bref en créant un nouveau projet avec lazarus-1.6.2-fpc-3.0.0-win32.exe, j'obtiens l'écran en pièce jointe (que je n'arrive pas à placer en image !?). Le clic droit sur le code puis le choix du paramètre de l'encodage me donne UTF-8 et pourtant Notepad++ m'indique qu'il est en ANSI et l'exploitation du code (sa gestion des caract?res accentu?s) me montre également qu'il est en ANSI. D'ailleurs une fois passé en UTF-8 sans BOM, il fonctionne correctement.
    ...
    Attention ! Un fichier ne comportant QUE des caractères ASCII de base (#0 à #127) est tout à la fois ANSI ET UTF-8 sans BOM.
    Et c'est le cas du fichier Unit1.pas que tu nous présente, il ne comporte, au départ, que des mots du langage Pascal ou des commentaires en anglais, pas de lettres accentuée ni autre signe spécial permettant de faire la différence entre ANSI et UTF-8.

    En présence d'un tel fichier, Lazarus l'indique comme étant UTF-8 car c'est son mode d'encodage par défaut. Par contre Notepad++ l'ouvre comme étant ANSI (selon la page de code ANSI par défaut du Système). La distinction ne se fera que lorsqu'on saisira la première lettre accentuée, celle-ci sera encodée en ANSI par Notepad++ ou en UTF-8 si c'est par l'éditeur de code Lazarus.

    En conséquence de quoi, les copies d'écran que tu nous montre, ne présentent pas pour moi d'anomalie.

  7. #7
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    septembre 2015
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : septembre 2015
    Messages : 203
    Points : 239
    Points
    239

    Par défaut

    Bonsoir,

    Merci pour cette réponse DomDA91.
    Effectivement:
    • j'ai enregistré une fiche vierge >> Encodage ANSI.
    • j'ai ajouté : showmessage('accentué'); >> L'encodage est devenu UTF8 sans BOM.


    Cependant, je trouve le système inadapté. J'avais pris l'habitude d'utiliser i18n et ses fichiers po et mes resourcestring sont en anglais. Je l'ai conservée : pas d'accents dans le code

    Donc résolu. Cordialement. AD

  8. #8
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    décembre 2011
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : décembre 2011
    Messages : 2 974
    Points : 10 665
    Points
    10 665
    Billets dans le blog
    4

    Par défaut

    Citation Envoyé par DomDA91 Voir le message
    Attention ! Un fichier ne comportant QUE des caractères ASCII de base (#0 à #127) est tout à la fois ANSI ET UTF-8 sans BOM.
    Et c'est le cas du fichier Unit1.pas que tu nous présente, il ne comporte, au départ, que des mots du langage Pascal ou des commentaires en anglais, pas de lettres accentuée ni autre signe spécial permettant de faire la différence entre ANSI et UTF-8.

    En présence d'un tel fichier, Lazarus l'indique comme étant UTF-8 car c'est son mode d'encodage par défaut. Par contre Notepad++ l'ouvre comme étant ANSI (selon la page de code ANSI par défaut du Système). La distinction ne se fera que lorsqu'on saisira la première lettre accentuée, celle-ci sera encodée en ANSI par Notepad++ ou en UTF-8 si c'est par l'éditeur de code Lazarus.

    En conséquence de quoi, les copies d'écran que tu nous montre, ne présentent pas pour moi d'anomalie.
    Ce message mériterait d'être placé dans la FAQ.

  9. #9
    Membre averti

    Homme Profil pro
    Rédacteur technique (retraité)
    Inscrit en
    octobre 2009
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Rédacteur technique (retraité)

    Informations forums :
    Inscription : octobre 2009
    Messages : 102
    Points : 433
    Points
    433

    Par défaut

    Citation Envoyé par Roland Chastain Voir le message
    Ce message mériterait d'être placé dans la FAQ.

    C'est fait !

    https://lazarus.developpez.com/faq/?...iteur-de-texte

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

Discussions similaires

  1. Manipuler des fichiers de type Unix sous Windows
    Par hermes1983 dans le forum IO
    Réponses: 4
    Dernier message: 06/06/2009, 08h43
  2. [0.9.2][Zend_Translate] Encodage des fichier TMX
    Par Yoteco dans le forum Autres composants
    Réponses: 5
    Dernier message: 10/05/2007, 18h51
  3. Comment modifier l'encodage des fichiers sources ?
    Par ChPr dans le forum NetBeans
    Réponses: 2
    Dernier message: 01/05/2007, 21h16
  4. encodage des fichier .html
    Par rasleboldesid dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 30/08/2006, 07h23
  5. [Eclipse 2.1] Encodage des fichiers pour un projet
    Par _-Sky-_ dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 26/05/2005, 22h26

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