Hello!

Inspiré(e) de prendre part à la discussion ? Ou de poser une question ou demander de l’aide ?

Alors bienvenues dans les grands sujets des forums de La Bulle : m’inscrire.

Cette partie du forum n’est pas compatible avec les bloqueurs publicitaires

Félicitations à vous, de préférer les accès payants plutôt que la gratuité par la publicité, c’est honnorable et cohérent de votre part. Malheureusement, l’accès payant par micropaiement (qui serait d’environ 1 cent pour 20 pages consultées) n’est pour l’instant pas encore mis en place, et l’accès gratuit sans publicité, est réservé aux membres actif(ve)s du forum. En attendant, si vous souhaitez poursuivre votre visite chez nous, vous pouvez ajouter le site à votre liste blanche, ou encore mieux, désactiver le bloqueur partout. Pour ajouter le site à votre liste blanche, pour Firefox (similaire pour les autres navigateurs), rendez‑vous en bas à gauche de la fenêtre de votre navigateur, et cliquez sur le menu comme dans l’exemple de l’image ci‑dessous, puis rechargez la page, en appuyant sur F5.

Problème d'encodage des noms de fichers avec accents
Auteur Message
zen
Modératrice
Avatar de l’utilisateur
  • Genre : Fille
  • Age : 50
  • Localisation : Un pied dans l'eau et un sur le mont.
  • Messages : 11009
Mar 27 Oct 2015 23:08
Message Re: Problème d'encodage des noms de fichers avec accents
Emmanuel Sens a écrit : 
Bonjour Zen.

Coucou ! Salut!
Profil
Beau Parleur
Beau Parleur
Avatar de l’utilisateur
  • Genre : Télétubbie
  • Messages : 320
Mer 28 Oct 2015 15:07
Message Re: Problème d'encodage des noms de fichers avec accents
Bonjour.

Je me disais, avec le vent, que tu viendrais jusqu'ici.
Merci pour la visite... Bravo !
Profil
Beau Parleur
Beau Parleur
Avatar de l’utilisateur
  • Genre : Télétubbie
  • Messages : 320
Mar 3 Nov 2015 16:26
Message Re: Problème d'encodage des noms de fichers avec accents
Bonjour, je reprend cette page parce qu'il me manque le caractère € dans mon programme.

Impossible en effet de le saisir. Apparemment une espace est insérée à la place (mais rien de moins certain)

Je compile avec l'option -gnatW8 mon système et en en_En.UTF-8.
Les caractère accentués sont bien traités (je suis gentil).

Enigmatique pour moi.

Merci pour votre réponse.
Profil
Administrateur
Avatar de l’utilisateur
  • Genre : Télétubbie
  • Messages : 16069
Mar 3 Nov 2015 19:52
Message Re: Problème d'encodage des noms de fichers avec accents
Peux‑tu essayer avec -gnatW ? As‑tu vérifié qu’un BOM UTF‑8 est bien présent au début du fichier source ?

Image
Hibou57

« La perversion de la cité commence par la fraude des mots » [Platon]
Profil Site Internet
Beau Parleur
Beau Parleur
Avatar de l’utilisateur
  • Genre : Télétubbie
  • Messages : 320
Mer 4 Nov 2015 07:00
Message Re: Problème d'encodage des noms de fichers avec accents
Bonjour Hibou,

J'ai essayé -gnatW, c'est un switch invalide.

Et je n'ai pas encore de fichier, je saisie simplement le caractère avec Wide_Text_Io.Get_Immediate, sur l'entrée standard.


Par contre j'ai fait une erreur je suis en_US.UTF-8 en fait.
Profil
Beau Parleur
Beau Parleur
Avatar de l’utilisateur
  • Genre : Télétubbie
  • Messages : 320
Mer 4 Nov 2015 12:14
Message Re: Problème d'encodage des noms de fichers avec accents
Bonjour ou Re- bonjour...

J'utilise Ansi_Console.
Donc j'ai transformé ce paquetage pour qu'il traite des Wide_String avec des Wide_Character.

J'affiche à présent le caractère €.

Je ne sais pas si j'ai bien fait.

En tout cas j'ai encore un nouveau problème du coup ;
A chaque rafraîchissement de l'écran, le curseur s'affiche un peu partout à l'ecran, et a lourdement ralentie le programme.

J'ai du faire une bêtise.

Bref je cherche encore des solutions.
Profil
Administrateur
Avatar de l’utilisateur
  • Genre : Télétubbie
  • Messages : 16069
Mer 4 Nov 2015 12:57
Message Re: Problème d'encodage des noms de fichers avec accents
Emmanuel Sens a écrit : 
[…]

Par contre j'ai fait une erreur je suis en_US.UTF-8 en fait.

Ça, c’est la langue des messages, n’en tiens pas compte. Ce qu’il faut vérifier, c’est la présence du BOM UTF‑8. La variable d’environnement LC_ALL, ne force pas l’encodage pour les éditeurs de textes, qui peuvent enregistrer avec un autre encodage et avec ou sans BOM, et c’est pour cela qu’il faut vérifier.

Quel éditeur de texte utilises‑tu ?

Image
Hibou57

« La perversion de la cité commence par la fraude des mots » [Platon]
Profil Site Internet
Administrateur
Avatar de l’utilisateur
  • Genre : Télétubbie
  • Messages : 16069
Mer 4 Nov 2015 12:59
Message Re: Problème d'encodage des noms de fichers avec accents
Emmanuel Sens a écrit : 
Bonjour ou Re- bonjour...

J'utilise Ansi_Console.
Donc j'ai transformé ce paquetage pour qu'il traite des Wide_String avec des Wide_Character.

[…]

Ce paquet est antérieur à Ada 2012.

Je le réviserai un jour, mais je ne promet aucune date. Je te préviendrai ici, si un jour prochain c’est fait.

Image
Hibou57

« La perversion de la cité commence par la fraude des mots » [Platon]
Profil Site Internet
Beau Parleur
Beau Parleur
Avatar de l’utilisateur
  • Genre : Télétubbie
  • Messages : 320
Mer 4 Nov 2015 13:10
Message Re: Problème d'encodage des noms de fichers avec accents
Je suis pas dans un éditeur, je suis dans un programme avec Ada.

J'ai trouvé le procédure qui alourdi le système.

C'est ma procédure Draw_Window, je j'ai retapé 2 fois.
1 fois pour que je puisse spécifier la taille d'écran voulue.
1 fois pour gérer les Wide_String au lieu des String.

J'ai viré le code de Draw_Window, ça affiche impécable, mais je n'ai plus les fenêtres.

Donc ma procédure Draw Window à présent c'est :

Source ada : 

procedure Draw_Window (W : in Window_Type)
is
type Frame_Component_Enum is (
Top_Left_Corner,
Top_Right_Corner,
Bottom_Right_Corner,
Bottom_Left_Corner,
Horizontal_Border,
Vertical_Border
);
Frame_Component : constant
array (Frame_Type_Enum, Frame_Component_Enum) of Wide_Character := (
-- Double_Line_Frame => (
-- Top_Left_Corner => Character'Val(201),
-- Top_Right_Corner => Character'Val(187),
-- Bottom_Right_Corner => Character'Val(188),
-- Bottom_Left_Corner => Character'Val(200),
-- Horizontal_Border => Character'Val(205),
-- Vertical_Border => Character'Val(186)),
-- Single_Line_Frame => (
-- Top_Left_Corner => Character'Val(218),
-- Top_Right_Corner => Character'Val(191),
-- Bottom_Right_Corner => Character'Val(217),
-- Bottom_Left_Corner => Character'Val(192),
-- Horizontal_Border => Character'Val(196),
-- Vertical_Border => Character'Val(179)));
Double_Line_Frame => (
Top_Left_Corner => Wide_Character'Val(43),
Top_Right_Corner => Wide_Character'Val(43),
Bottom_Right_Corner => Wide_Character'Val(43),
Bottom_Left_Corner => Wide_Character'Val(43),
Horizontal_Border => Wide_Character'Val(45),
Vertical_Border => Wide_Character'Val(124)),
Single_Line_Frame => (
Top_Left_Corner => Wide_Character'Val(43),
Top_Right_Corner => Wide_Character'Val(43),
Bottom_Right_Corner => Wide_Character'Val(43),
Bottom_Left_Corner => Wide_Character'Val(43),
Horizontal_Border => Wide_Character'Val(45),
Vertical_Border => Wide_Character'Val(124)));

Client_Background : constant Wide_Character := ' ';
Close_Box_Symbol : constant Wide_Character := 'X';
-- Pourrait être aussi Character'Val(254)
begin
if not Fit_In_Screen (W.L, W.C, W.H, W.W) then raise Metric_Error;
end if;

if W.W < 5 then raise Metric_Error;
end if;

if W.H < 2 then raise Metric_Error;
end if;

Set_Text_Color (W.Frame_Color);

-- Bottom side
Draw_Buffer (W.C) :=
Frame_Component (W.Frame_Type, Bottom_Left_Corner);
for i in 2 .. W.W - 1 loop
Draw_Buffer ((W.C - 1) + i) :=
Frame_Component (W.Frame_Type, Horizontal_Border);
end loop;
Draw_Buffer ((W.C - 1) + W.W) :=
Frame_Component (W.Frame_Type, Bottom_Right_Corner);
Move_Cursor_To ((W.L - 1) + W.H, W.C);
Put (Draw_Buffer (W.C..(W.C - 1) + W.W));

-- Top side
Draw_Buffer (W.C) :=
Frame_Component (W.Frame_Type, Top_Left_Corner);
-- Draw_Buffer ((W.C - 1) + W.W - 3) := '[';
-- Draw_Buffer ((W.C - 1) + W.W - 2) := 'X'; -- Character'Val(254);
-- Draw_Buffer ((W.C - 1) + W.W - 1) := ']';
-- Draw_Buffer ((W.C - 1) + W.W) :=
-- Frame_Component (W.Frame_Type, Top_Right_Corner);
Move_Cursor_To (W.L, W.C);
Put (Draw_Buffer (W.C..(W.C - 1) + W.W));

-- Middle
Draw_Buffer (W.C) :=
Frame_Component (W.Frame_Type, Vertical_Border);
for i in 2 .. W.W - 1 loop
Draw_Buffer ((W.C - 1) + i) := Client_Background;
end loop;
Draw_Buffer ((W.C - 1) + W.W) :=
Frame_Component (W.Frame_Type, Vertical_Border);
for i in 2..W.H - 1 loop
Move_Cursor_To ((W.L - 1) + i, W.C);
Put (Draw_Buffer (W.C..(W.C - 1) + W.W));
end loop;
end;
Profil
Beau Parleur
Beau Parleur
Avatar de l’utilisateur
  • Genre : Télétubbie
  • Messages : 320
Mer 4 Nov 2015 14:42
Message Re: Problème d'encodage des noms de fichers avec accents
Zut, je ne parviens pas à écrire un simple fichier avec un € dedans.

Si je crée un fichier avec un € dedans après lorsque je lis le fichier dans mon shell avec la commande "cat" j'ai : ["20AC"].

Même si je met un BOM_8 avant.
Profil
cron