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.
|
|
Auteur | Message |
---|---|
Beau Parleur
|
Bonjour,
Je reviens avec un problème d'encodage des noms de fichiers avec des accents. Je suis sur Gnu/Linux (debian), je compile avec l'option de gnatmake -gnatW8. Je saisie les noms de fichiers dans une Wide_String que je passe à Make_Dir en faisant To_String. Les fichiers sont créés correctement, mais les accents sont interprétés différemment par le shell (bash). Par exemple, le fichier "Eléments" est affiché avec mon programme mais avec bash, le nom de fichier affiché avec ls est "El?ments". inversement si je crée le même fichier avec bash, mon programme affiche "ElACments" en mode console Merci pour votre aide. |
|
|
Beau Parleur
|
J'ai trouvé comment faire pour régler le problème.
Si je supprime l'option -gnatW8, presque tout s'arrange. Je dis presque, parce que dans mon programme j'ai une chaîne litérale unicode pour afficher les image des pièces d'un jeu d'échec. Du coup maintenant, je cherche comment déclarer un tableau de ces caractères unicode. Dans mon code donc, j'ai ça à remplacer : Source Ada :Images : Images_Type := "♔♕♖♗♘♙♚♛♜♝♞♟"; Merci pour votre aide. |
Beau Parleur
|
Bonjour,
J'ai tenté une compilation séparée pour chacune des bibliothèques mais je n'y arrive. Soit j'affiche correctement l'unicode, soit je crée des fichiers avec des noms correctes. C'est un chois, mais bon. |
Beau Parleur
|
Yes !
Depuis Ada 2012 Ada, s'est enrichie d'une bibliothèque pour manipuler les chaînes UTF-8 En faisant un find adainclude -exec grep sur UTF_Encoding on trouve les fichiers correspondant. Du coup je compilerai mon projet avec -gnatW8 et je vais faire le nécessaire pour passer à l'OS mes Wide_String, en UTF 8 pour mon cas. Et normalement, ça passe. Yes ! Merci à l'US DoD. Merci à vous. Bonjour Zen. |
Administrateur
|
Désolé de ne pas être beaucoup disponible pour ces questions.
J’en profite juste pour dire que les paquets pour les fonctions de listage des répertoires, avec GNAT, ont des problèmes avec les noms de fichiers et de dossiers contenant certains caractères, et c’est sans rapport avec les fonctions de manipulation d’encodages. Hibou57 « La perversion de la cité commence par la fraude des mots » [Platon] |
Beau Parleur
|
Bonjour Hibou.
Tu aurais la liste de ces caractères ? |
Administrateur
|
Il me semble que ce sont ceux en dehors du jeux de caractères Latin‑1, également nommé ISO 8859‑1.
À moins que ça n’ait été corrigé depuis … Hibou57 « La perversion de la cité commence par la fraude des mots » [Platon] |
Beau Parleur
|
Merci Hibou.
Je suis resté à la table ASCII tendu en terme de connaissance des tables de caractères. Mais j'ai lu hier en cherchant une soluce à mon problème, qu'on pouvais à présent écrire avec Ada et les caractères unicode. Il me semble que c'est largement plus vaste que l'initial Latin_1 de Ada83. Mais je suis pas très fort en informatique. C'est tellement vaste et complexe. Merci pour ta réponse en tout cas. |
Administrateur
|
Le problème dont je parlais, est spécifique à un paquet pour l’accès aux répertoires, seulement à ce paquet là, indépendamment du support Unicode.
J’avais découvert ce problème en aidant des étudiants à faire un TP en Ada. Le programme devait lister récursivement des fichiers dans des répertoires, pour indexer leurs contenus. Pendant des tests, j’avais remarqué des erreurs avec les fichiers dont les noms comportaient certains caractères. Hibou57 « La perversion de la cité commence par la fraude des mots » [Platon] |
Beau Parleur
|
Ok, merci Hibou.
|
|