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

Shell et commandes GNU Discussion :

Conversion de caractères


Sujet :

Shell et commandes GNU

  1. #1
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 242
    Points : 13 457
    Points
    13 457
    Par défaut Conversion de caractères
    Bonjour

    J'ai un problème de codage de caractère. Avec Cygwin, sous Windows 7, je crée un fichier texte avec vim. Puis je le passe dans awk. Il me semble que le résultat est en UTF-8. Puis je l'envoie à la version windows de GraphViz. Et là, patatras, c'est le drame: Le mot "Clémence" apparaît "Clémence" dans le graphe.

    Quand j'essaie de convertir, avec iconv, il me rejette (à la rencontre du premier des accents) ou il fait disparaitre autour des accents.
    Quand je crée un fichier avec GraphViz, graph1.gv est en ASCII, selon Cygwin (bash).

    Quelle est la solution pour changer mon fichier utf-8 en format windowsien qui plaise à gvedit.exe (GraphViz) ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $ vim l.txt
    $ ./to_gv.awk l.txt > g.gv
    $ file l.txt
    l.txt: UTF-8 Unicode text, with CRLF line terminators
    $ file g.gv
    g.gv: UTF-8 Unicode text
    $ file graph1.gv
    graph1.gv: ASCII text, with CRLF line terminators
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  2. #2
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 276
    Points : 12 717
    Points
    12 717
    Par défaut
    Bonjour,

    Je pense qu'il faut que tu vérifie les locales utilisées entre ton windows et ton cygwin et que tu règle la locale cygwin comme celle de ton windows.
    Pour windows, je ne connais pas, mais un exemple pour connaitre ton charmap sous cygwin:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $ LC_ALL=fr_FR.UTF-8 locale -c charmap
    LC_CTYPE
    UTF-8
    $ LC_ALL=C locale -c charmap
    LC_CTYPE
    ANSI_X3.4-1968
    $ LC_ALL=french locale -c charmap
    LC_CTYPE
    ISO-8859-1
    Cordialement.

  3. #3
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 242
    Points : 13 457
    Points
    13 457
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $ LC_ALL=fr_FR.UTF-8 locale -c charmap
    LC_CTYPE
    UTF-8
    $ LC_ALL=C locale -c charmap
    LC_CTYPE
    ANSI_X3.4-1968
    $ LC_ALL=french locale -c charmap
    LC_CTYPE
    ANSI_X3.4-1968
    J'ai une réticence à quitter l'UTF-8 juste parce qu'un logiciel demande autre chose.

    Quand je lance emacs sous windows (admirez le mic-mac), je change l'encodage des caractères par C-x Entrée r, avec revert, et C-x entrée f, pour enregister C-x C-s.
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  4. #4
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Points : 7 882
    Points
    7 882
    Par défaut
    Essaie:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    iconv -f UTF-8 -t CP858 fichier.utf8 > fichier.txt
    ɹǝsn *sıɹɐlos*

  5. #5
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 242
    Points : 13 457
    Points
    13 457
    Par défaut
    Citation Envoyé par jlliagre Voir le message
    Essaie:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    iconv -f UTF-8 -t CP858 fichier.utf8 > fichier.txt
    Le 'é' est transformé en une virgule.
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  6. #6
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 719
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 719
    Points : 15 105
    Points
    15 105
    Par défaut
    Salut,
    Citation Envoyé par jlliagre Voir le message
    Essaie:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    iconv -f UTF-8 -t CP858 fichier.utf8 > fichier.txt
    Euh, pourquoi 858 ? Si mes souvenirs de DOS sont bons, c'est 850 pour l' Europe.
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  7. #7
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Points : 7 882
    Points
    7 882
    Par défaut
    @Flodelarab:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    iconv -f UTF-8 -t CP1252 fichier.utf8 > fichier.txt
    @Jipété

    Tes souvenirs sont bons mais en 1998, CP850 à été supplanté par CP858 qui remplace le "i" sans point, "ı" par "€"
    ɹǝsn *sıɹɐlos*

  8. #8
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 242
    Points : 13 457
    Points
    13 457
    Par défaut
    Cette solution est parfaite pour GraphViz.

    Mais pour Cygwin, "Clémence" devient "Clence".
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  9. #9
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Points : 7 882
    Points
    7 882
    Par défaut
    Citation Envoyé par Flodelarab Voir le message
    Mais pour Cygwin, "Clémence" devient "Clence".
    Je ne comprends pas. Le fichier qui contient "Clémence" a été crée avec vim sous Cygwin. Il s'affiche correctement en UTF-8, non ?
    ɹǝsn *sıɹɐlos*

  10. #10
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 242
    Points : 13 457
    Points
    13 457
    Par défaut
    Oui. Je viens de refaire l'ensemble:
    fichier issu de vim -> awk -> fichier correct pour cygwin (mais incorrect pour graphviz) -> iconv -> Fichier incorrect pour cygwin (mais bon pour graphviz)
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  11. #11
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Points : 7 882
    Points
    7 882
    Par défaut
    Normal, il ne peut pas être correct pour les deux, les codages des caractères non ASCII 7 bit étant incompatibles.
    ɹǝsn *sıɹɐlos*

  12. #12
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 242
    Points : 13 457
    Points
    13 457
    Par défaut
    En l'occurrence, ce n'est pas l'ASCII qui pêche. Mais les caractères en dehors de l'ASCII.

    Merci de votre participation. Je mets en résolu puisque j'ai une solution.
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  13. #13
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Points : 7 882
    Points
    7 882
    Par défaut
    Citation Envoyé par Flodelarab Voir le message
    En l'occurrence, ce n'est pas l'ASCII qui pêche. Mais les caractères en dehors de l'ASCII.
    C'est bien ce que j'ai écrit: « les codages des caractères non ASCII 7 bit étant incompatibles ».
    ɹǝsn *sıɹɐlos*

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. conversion de caractéres
    Par longjohn dans le forum Général Python
    Réponses: 3
    Dernier message: 27/08/2005, 16h03
  2. [VB.NET] Conversion de caractères
    Par WriteLN dans le forum Windows Forms
    Réponses: 8
    Dernier message: 17/03/2005, 08h45
  3. [DOS] batch et conversion de caractères
    Par lujayne dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 14/12/2004, 16h05
  4. [DB2][Access]Conversion de caractères
    Par BAYRAL dans le forum DB2
    Réponses: 2
    Dernier message: 12/10/2004, 10h00
  5. Conversion et re-conversion des caractères reservé à MySQL
    Par Didier100 dans le forum Bases de données
    Réponses: 4
    Dernier message: 30/06/2004, 14h23

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