Unix Solaris
Ok, ça aurait été une bonne idée de le dire tout de suite.
Tu n'es pas dans le bon forum car Solaris n'est pas Linux et ses commandes natives ne sont pas GNU ...
ɹǝsn *sıɹɐlos*
Ah ok ! Je ne savais pas, j'y penserai la prochaine fois !
Exact, c'est bien $F[0], je me suis plantouiller dans le copier/coller...
Mais bon, a priori, cela ne résoud pas ton problème.
Pourrais-tu nous fournir le résultat de la commande suivante:
EDIT: Pas très utile en fait, si derrière c'est solaris
Code : Sélectionner tout - Visualiser dans une fenêtre à part file - < <(echo -e "$lineControleEnveloppeCalendrier")
Cordialement.
Pourquoi pas cette fois ci ? Tu peux demander à un modérateur de déplacer cette discussion dans l'un des forums appropriés:
http://www.developpez.net/forums/f88.../unix/solaris/ ou http://www.developpez.net/forums/f17...mmandes-posix/
Sinon, quelle est la version de Solaris utilisée -> cat /etc/release ?
ɹǝsn *sıɹɐlos*
Disedorgue, ta commande me renvoie une erreur :
En faisant la commande :
Code : Sélectionner tout - Visualiser dans une fenêtre à part -: cannot open: No such file or directory
j'obtiens :
Code : Sélectionner tout - Visualiser dans une fenêtre à part file <(echo -e "$lineControleEnveloppeCalendrier")
Code : Sélectionner tout - Visualiser dans une fenêtre à part /dev/fd/63: character special (346/63)
@jlliagre : la version
Solaris 10 10/09 s10s_u8wos_08a SPARC
Copyright 2009 Sun Microsystems, Inc. All Rights Reserved.
Use is subject to license terms.
Assembled 16 September 2009
Oui je vais faire la demande pour déplacer la conversation
La conversion marche pour moi sur Solaris 10:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 $ cat /etc/release Oracle Solaris 10 8/11 s10x_u10wos_17b X86 Copyright (c) 1983, 2011, Oracle and/or its affiliates. All rights reserved. Assembled 23 August 2011 $ a="ééèè" $ printf "%s\n" $a | od -c 0000000 303 251 303 251 303 250 303 250 \n 0000011 $ printf "%s\n" $a | iconv -f UTF8 -t 8859-1 | od -c 0000000 351 351 350 350 \n 0000005 $ printf "%s\n" $a | iconv -f UTF-8 -t 8859-1 | iconv -f 8859-1 -t UTF-8 | od -c 0000000 303 251 303 251 303 250 303 250 \n 0000011
ɹǝsn *sıɹɐlos*
Bonjour jlliagre,
J'ai voulu essayer ta commande pour comparer, mais je n'arrive même pas à taper d'accent dans la console , pour information je me connecte via putty
En reprenant l'exemple de jlliagre, remplace la ligne:
par (si en bash): <== a préférer si tu veux voir les caractères accentué au lieu de caractère étrange
Code : Sélectionner tout - Visualiser dans une fenêtre à part $ a="ééèè"
par (si en ksh):
Code : Sélectionner tout - Visualiser dans une fenêtre à part $ a=$(echo -e "\303\251\303\251\303\250\303\250")
EDIT:
Code : Sélectionner tout - Visualiser dans une fenêtre à part a=$(echo "\0303\0251\0303\0251\0303\0250\0303\0250")
Soit dit en passant, chez moi, sur un " Solaris 10 5/09 s10s_u7wos_08 SPARC", la commande de jlliagre fonctionne ainsi que:
ou avec nawk:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $ echo -e "t\303\251te\ntete" | LC_CTYPE="fr_FR.UTF-8" awk '{printf("%10s\n",$1)}' téte tete
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 echo -e "t\303\251te\ntete" | LC_CTYPE="fr_FR.UTF-8" nawk '{printf("%10s\n",$1)}' téte tete
Cordialement.
ou plus simple car portable et indépendant du shell:
Code : Sélectionner tout - Visualiser dans une fenêtre à part a=$(printf "\303\251\303\251\303\250\303\250")
ɹǝsn *sıɹɐlos*
Est-ce que putty est configuré en UTF-8 ? :
Code : Sélectionner tout - Visualiser dans une fenêtre à part Change settings -> Window -> Translation -> Remote character set: UTF-8
ɹǝsn *sıɹɐlos*
J'ai le même problème depuis mon putty qui est bien en UTF8, j'arrive à copier/coller mais pas à les taper.
En bash, la touche reste inactive, en ksh, j'ai une traduction du caractère en 2 caractère ( ex: "é => C)" "è => C(" )
Sinon, j'ai bien une solution avec nawk, mais je préfère voir s'il peut s'en sortir avec ta solution, qui serait plus propre que mon workaround.
Cordialement.
Vous semblez être tous les deux en locale C. La locale C (= POSIX), c'est de l'ASCII sur 7 bit, sans accents donc. Pas la meilleure approche pour travailler avec des caractères accentués.
Que disent:?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 locale stty -a
ɹǝsn *sıɹɐlos*
Pour ma part,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 $ locale LANG=fr_FR.UTF-8 LC_CTYPE="fr_FR.UTF-8" LC_NUMERIC="fr_FR.UTF-8" LC_TIME="fr_FR.UTF-8" LC_COLLATE="fr_FR.UTF-8" LC_MONETARY="fr_FR.UTF-8" LC_MESSAGES="fr_FR.UTF-8" LC_ALL=Si tu connais l'option coté control terminal qui m'active ça, je suis preneur...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 $ stty -a speed 38400 baud; rangées = 60 ; colonnes = 157 ; pixels_y = 0 ; pixels_x = 0 ; csdata ? eucw 1:0:0:0, scrw 1:0:0:0 intr = ^c; quit = ^\; erase = ^h; kill = ^u; eof = ^d; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^q; stop = ^s; susp = ^z; dsusp = ^y; rprnt = ^r; flush = ^o; werase = ^w; lnext = ^v; -parenb -parodd cs8 -cstopb hupcl cread -clocal -loblk crtscts -crtsxoff -parext -ignbrk brkint -ignpar -parmrk -inpck istrip -inlcr -igncr icrnl -iuclc ixon -ixany ixoff imaxbel isig icanon -xcase echo echoe echok -echonl -noflsh -tostop echoctl -echoprt echoke -defecho -flusho -pendin iexten opost -olcuc onlcr -ocrnl -onocr -onlret -ofill -ofdel tab3
Cordialement.
Au moins celle là:
Code : Sélectionner tout - Visualiser dans une fenêtre à part stty -istrip
ɹǝsn *sıɹɐlos*
Bon, j'ai trouvé l'astuce pour activé les caractères accentués sur le solaris depuis putty (la recette est à peu près ceci):
1) putty en mode UTF8
2) On positionne la locale comme il faut, par exemple en fr_FR.UTF-8:
3) on réinitialise le stty:
Code : Sélectionner tout - Visualiser dans une fenêtre à part LANG=fr_FR.UTF-8
4) On fait un exec du shell que l'on utilise...
Code : Sélectionner tout - Visualiser dans une fenêtre à part stty sane
Par exemple:
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part exec /bin/ksh
Code : Sélectionner tout - Visualiser dans une fenêtre à part exec /usr/bin/bash
Cordialement.
Bonjour disedorgue, bonjour jlliagre,
@jlliagre : mon putty est paramétré en UTF-8 mais cela ne change rien, j'obtiens les mêmes résultats que disedorgue (en bash).
Resultat de la commande 'locale'
Resultat de la commande 'stty -a'
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 LANG= LC_CTYPE="C" LC_NUMERIC="C" LC_TIME="C" LC_COLLATE="C" LC_MONETARY="C" LC_MESSAGES="C" LC_ALL=
@disedorgue : putty en est mode UTF-8, j'ai placé la variable lang en UTF-8 (et vérifié avec un echo qu'elle etait bien en UTF-8), j'ai réinitialisé le stty et fait un exec pour le bash. Je ne pense pas que cela marche, quand je tape 'é' cela affiche 'C)' sur la console
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 speed 38400 baud; rows = 24; columns = 80; ypixels = 0; xpixels = 0; csdata ? eucw 1:0:0:0, scrw 1:0:0:0 intr = ^c; quit = ^\; erase = ^h; kill = ^u; eof = ^d; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^q; stop = ^s; susp = ^z; dsusp = ^y; rprnt = ^r; flush = ^o; werase = ^w; lnext = ^v; -parenb -parodd cs8 -cstopb -hupcl cread -clocal -loblk crtscts -crtsxoff -parext -ignbrk brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl -iuclc ixon -ixany -ixoff imaxbel isig icanon -xcase echo echoe echok -echonl -noflsh -tostop echoctl -echoprt echoke -defecho -flusho -pendin iexten opost -olcuc onlcr -ocrnl -onocr -onlret -ofill -ofdel tab3
Comme déjà indiqué, la locale C est une locale 7 bit, conçue uniquement pour afficher de l'anglais. Il faut que tu passes en UTF-8 pour pouvoir traiter tes caractères accentués correctement. Voici une méthode pour le faire:
Code : Sélectionner tout - Visualiser dans une fenêtre à part LC_ALL=fr_FR.UTF-8 exec $SHELL
ɹǝsn *sıɹɐlos*
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager