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,
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
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.
Mon site personnel consacré à MSEide+MSEgui : msegui.net
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.
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.
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.
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
Mon site personnel consacré à MSEide+MSEgui : msegui.net
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager