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 :

Lazarus-1.1-36942-fpc-2.6.1-20120421-win32.exe -> lazarus-1.6.0-fpc-3.0.0-win32 et UTF8


Sujet :

Lazarus Pascal

  1. #1
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2015
    Messages
    252
    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 : 252
    Points : 272
    Points
    272
    Par défaut Lazarus-1.1-36942-fpc-2.6.1-20120421-win32.exe -> lazarus-1.6.0-fpc-3.0.0-win32 et UTF8
    Bonjour,

    j'ai développé un programme en Lazarus fpc-2.6.1 utilisant ZeosDB et une base MySQL [Interclassement pour la connexion MySQL utf8_general_ci - Base et tables en latin1_swedish_ci]

    Je l'ai recompilé avec fpc-3.0.0. Toutes mes TStringGrids alimentées par les tables ont maintenant un problème d'affichage au niveau des caractères accentués.

    Existe-t-il un moyen simple de corriger ce problème ? Une seule ligne pour tout le projet me suffirait comme
    ... mais cela ne semble pas fonctionner dans ce cas .

    Pourtant
    • activate the -dDisableUTF8RTL mode with Project Options ... -> Compiler Options -> Additions and Overrides -> click on Use system encoding
    • change the file encoding: Source Editor -> mouse rightclick -> File Settings -> Encoding -> take your system encoding (for that example take 1252) and confirm

    Now you are able to build a project without UTF8 dependences.
    Merci. AD.

    RQ : j'ai utilisé exactement la même version de ZeosDBO que j'avais zippée avec le projet ainsi d'ailleurs que la version de Lazarus utilisée lors du développement.

  2. #2
    Responsable Lazarus & Pascal

    Avatar de gvasseur58
    Homme Profil pro
    Cultivateur de code (bio)
    Inscrit en
    Février 2013
    Messages
    1 436
    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 436
    Points : 20 855
    Points
    20 855
    Billets dans le blog
    84
    Par défaut
    Bonjour,

    Je vois que le sujet reste sans réponse... et je ne suis que moyennement surpris . En effet, le passage à l'UTF8 n'est jamais simple, mais est devenu incontournable. Aussi, en guise de réponse insatisfaisante, je crois qu'il faut passer les données à la moulinette et ne pas compter sur une instruction ou une directive miracle.

    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
    Membre éprouvé
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    469
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 469
    Points : 1 100
    Points
    1 100
    Par défaut
    Bonjour

    Gilles a parfaitement raison, il faut se méfier des solutions qui temporisent sans rien régler, en aboutissent à des blocages ou des surcharges inutiles comme des doubles encodages. Le mieux serait de convertir la base en UTF-8 dès que possible.

    Toutefois, si la base contient vraiment des chaînes de caractères codées en latin1_swedish_ci, et qu'elles s'affichent bien sous l'ancienne version, c'est qu'elles sont converties en UTF8 "à la volée" d'une manière ou d'une autre lors des lectures et des écritures.

    Certaines fonctions comme SysToUTF8 qui pouvaient réaliser ces conversions sont deprecated, et ne font plus rien en 3.0 sauf justement si l'option -dDisableUTF8RTL est présente avec :


    • activate the -dDisableUTF8RTL mode with Project Options ... -> Compiler Options -> Additions and Overrides -> click on Use system encoding


    Vérifie si c'est bien le cas avec quelque chose comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    {$IFDEF DisableUTF8RTL}
    Showmessage('oui');
    {$ELSE}
    Showmessage('non');
    {$ENDIF}
    Si l'UTF8RTL est bien désactivé, je ne sais pas ce qui peut se passer... Il faudrait réaliser un petit programme de test et envoyer un échantillon de données pour qu'on puisse essayer de reproduire et de t'aider.

    Par contre, je ne vois aucune raison d'utiliser ça :


    • change the file encoding: Source Editor -> mouse rightclick -> File Settings -> Encoding -> take your system encoding (for that example take 1252) and confirm



    Cela change seulement l'encodage des fichiers sources. Depuis des années, tous les sources Lazarus devraient être en UTF8 car sauf paramétrage exceptionnel Lazarus attend de l'UTF8.

    Cette commande utilitaire (ce n'est pas une option) ne sert que pour réutiliser des fichiers sources de Delphi codés en 8 bits, pour les convertir en UTF8. Cela n'a d'effet que sur les constantes et textes "en dur" dans les programmes et ça ne concerne pas les données de la base.
    Cordialement,
    Tintinux

    Initiateur de Gestinux, une comptabilité gestion open-source, pour Linux, Windows et Mac OS.
    Une version stable et une autre en développement, avec Lazarus : vous pouvez aider à la tester, la traduire et à la développer.

Discussions similaires

  1. [Free Pascal] [FPC4NDS][Linux] Conflit avec Lazarus au niveau du .fpc.cfg
    Par Alcatîz dans le forum Free Pascal
    Réponses: 7
    Dernier message: 16/03/2010, 19h28
  2. Réponses: 2
    Dernier message: 14/02/2010, 16h53
  3. [Lazarus] [Windows XP] Compiler SVN fpc et Lazarus
    Par limax dans le forum Lazarus
    Réponses: 2
    Dernier message: 21/02/2009, 07h45
  4. [Lazarus] [0.9.27] Lazarus trouve deux compilateurs "fpc"
    Par ChPr dans le forum Lazarus
    Réponses: 6
    Dernier message: 16/01/2009, 16h56

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