[Ada] [Résolu] Problème d'encodage de caractères avec Ada sur Windows

Problème d'encodage de caractères avec Ada sur Windows [Ada] [Résolu] - Ada - Programmation

Marsh Posté le 22-01-2011 à 19:01:02    

Bonjour,
J'ai un problème d'encodage de caractères avec Ada sur Windows Vista.
Normalement Ada s'exploite par défaut en Latin_1. Je pense que mes fichiers sont ok, mais j'obtiens une substitution des caractères accentués à l'exécution.
 
J'ai ce texte original :

je montrerai à ces gens ce que vous ne voulez pas qu ils voient
je leur ferai voir un monde sans vous un monde sans lois ni contrôle sans limites ni frontières
si tu veux savoir ce qu est la matrice il te faudra l explorer toi même
qu est ce que la matrice
ta vie est le reste d une équation déséquilibrée innerante à  la programmation de la matrice
qui suis je
un monde où tout est possible
ce que nous en ferons ne dépendra que de vous
tout ce qui a un début a une fin
la matrice est universelle elle est omniprésente elle est avec nous ici en ce moment même
tu la vois chaque fois que tu regardes par la fenêtre ou lorsque tu allumes la télévision
tu ressens sa présence quand tu pars au travail quand tu vas à l église ou quand tu paies tes factures
elle est le monde qu on superpose à ton regard pour t empêcher de voir la vérité
quelle vérité
le fait que tu es un esclave manuel
on n est pas le meilleur quand on le croit mais quand on le sait


 
et ce texte en sortie Ada sur Vista :
http://hfr-rehost.net/self/pic/1a6fd680dac515f0cfad7ac48453086b22a50a8a.jpeg
 
 
Vous auriez une idée de ce que je peux faire, s il vous plait ? Merci


Message édité par Profil supprimé le 23-01-2011 à 09:52:42
Reply

Marsh Posté le 22-01-2011 à 19:01:02   

Reply

Marsh Posté le 22-01-2011 à 21:22:00    

Citation :

Vous auriez une idée de ce que je peux faire, s il vous plait ? Merci

Si c'est dans une fenêtre de commande le pb vient de la: il faut que le codage de sortie de ton programme et celui de ta fenêtre de commande soient les mêmes.
Je suppose que ton programme ada sort en utf-8 et que ta fenêtre attende de l'isolatin 1
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 23-01-2011 à 09:07:15    

gilou a écrit :

Citation :

Vous auriez une idée de ce que je peux faire, s il vous plait ? Merci

Si c'est dans une fenêtre de commande le pb vient de la: il faut que le codage de sortie de ton programme et celui de ta fenêtre de commande soient les mêmes.
Je suppose que ton programme ada sort en utf-8


 
Peut vraisemblable: les caractères accentués ne sont représentés sur la fenêtre que par un seul caractère.
 

Citation :

et que ta fenêtre attende de l'isolatin 1


 
Je dirais plutôt que son programme sort de l'iso latin 1 et la console l'interprète en CP 850.  Ça marche au moins pour:
 
à -> E0 -> Ó
ô -> F4 -> [pied de mouche]
ê -> EA -> Û


---------------
The truth is rarely pure and never simple (Oscar Wilde)
Reply

Marsh Posté le 23-01-2011 à 09:32:26    

Bonjour,
En effet, sauf spécification particulière, Ada attend et sort du Latin-1
 
J'ai trouvé un fichier qui s'affiche correctement.
La commande "file" sous linux me dit que c'est du "non-iso Extended Ascii text, with CRLF line terminator". Bien que je n'ai pas de ^M en fin de ligne.
 
Mon problème maintenant, c'est de produire un autre fichier dans le même format.
 
Dans le premier fichier, les caractère 'é' par exemple sont remplacer par la valeur 202 précédé d'un '\'.
 
Voilà, je cherche comment produire un fichier "non-iso Extended Ascii text".
 
Merci pour votre aide.

Reply

Marsh Posté le 23-01-2011 à 09:52:10    

Pour produire un tel fichier, j'ai d'abord produit un fichier utf-8 et j'ai utilisé iconv comme suit :
 

iconv -f utf8 -t CP850 input_file > output_file


 
 
Iconv...  
 
 
Merci.

Reply

Marsh Posté le 23-01-2011 à 13:45:33    

Un Programmeur a écrit :


 
Peut vraisemblable: les caractères accentués ne sont représentés sur la fenêtre que par un seul caractère.
 

Citation :

et que ta fenêtre attende de l'isolatin 1


 
Je dirais plutôt que son programme sort de l'iso latin 1 et la console l'interprète en CP 850.  Ça marche au moins pour:
 
à -> E0 -> Ó
ô -> F4 -> [pied de mouche]
ê -> EA -> Û

Tout a fait, j'ai vraiment répondu à la va vite la, la fatigue sans doute.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 24-01-2011 à 15:48:57    

Bonjour,
Sous windows, j'utilisais la fonction chartooem pour convertir du texte vers le format de la console.
oemtochar fait l'inverse.
http://msdn.microsoft.com/en-us/li [...] 85%29.aspx


Message édité par breizhbugs le 24-01-2011 à 15:49:39

---------------
Seul Google le sait...
Reply

Marsh Posté le 25-01-2011 à 16:57:51    

Bonjour breizhbugs,
Merci breizhbugs.  :jap:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed