Bonjour,

je suis à cours d'idée pour afficher correctement les caractères accentués provenant de la sortie console d'un programme sous Windows 10 vers un TMemo.

Si je le lance dans la console, la sortie est :

.... La commande d'export a échoué.
Dans (Lazarus 2.2.0RC2 rt-fixes-2_2-129-ga829c6f1f0 FPC 3.2.3 i386-win32-win32/win64), avec de RunCommand j'ai essayé :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
TMemo.Lines.Add(sSortie);
Résultat :
La commande d'export a ?chou?.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
TMemo.Lines.Add(WinCPToUTF8(sSortie))
Résultat :
La commande d'export a ‚chou‚.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
TMemo.Lines.Add(WinCPToUnicode(sSortie))
Résultat :
La commande d'export a ‚chou‚.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
TMemo.Lines.Add(CP1252ToUTF8(sSortie))
Résultat :
La commande d'export a ‚chou‚.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
TMemoLines.Add(AnsiToUtf8(sSortie))
Resultat :
La commande d'export a �chou�
(en vrai un point d'interrogation dans un losange)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
TMemoLines.Add(ConvertEncoding(sSortie, GuessEncoding(sSortie), EncodingUTF8));
Résultat :
La commande d'export a ‚chou‚.
et même stupide dans l'autre sens :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
TMemo.Lines.Add(UnicodeToWinCP(sSortie))
(dans l'autre sens, stupide, mais comme rien ne marche)
Résultat :
La commande d'export a ?chou?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
TMemo.Lines.Add(UTF8ToWinCP(sSortie))
(idem)
Résultat :
La commande d'export a ?chou?.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
TMemo.Lines.Add(UTF8ToWinCP(sSortie))
(Idem)
Résultat :
La commande d'export a ?chou?.
Qu'est-ce que je peux encore tester ? Le programme qui génère la sortie est un programme de facturation générique français pour les PME bien connu.