OVH Cloud OVH Cloud

Re: bash et UTF-8

42 réponses
Avatar
denis31.barbier
[Laurent Giroud]
> Ca c'est bizarre.
> L'UTF-8 est calqu=E9 quasiment identiquement sur
> l'iso-8859-15 pour les 8 premiers bits.

Tu confonds la table des caract=E8res et le codage utilis=E9.

> > > La faiblesse est plut=F4t du c=F4t=E9 des logiciels qui
> > > ne g=E8rent pas correctement l'unicode, en effet, si
> > > on utilise la libc GNU standard et qu'on utilise
> > > gettext pour la localisation, il suffit d'utiliser
> > > wprintf au lieu de printf, de ne plus utiliser les
> > > "char" (en C) mais les "wchar" et de veiller =E0 ne
> > > pas tester les cha=EEnes de caract=E8res "en dur" mais
> > > d'utiliser syst=E9matiquement des cha=EEnes localis=E9es.
> >
> > arrfff... il "suffit"...
>
> Ce n'est pas l'utilisation d'un "il suffit" qui permet
> de dire que c'est irr=E9aliste, c'est l'ampleur de la
> t=E2che que =E7a repr=E9sente.

C'est bien beau de se documenter, encore faut-il passer =E0
la pratique ;)

Si tout ce qui t'int=E9resse est de fournir un bon support
pour l'UTF-8, la solution la plus simple est de conserver
des char et de changer les routines de calcul de
longueur de cha=EEnes, recherche d'expressions, etc. C'est
ce que fait la majorit=E9 des programmeurs, avec
=E9ventuellement conversion du codage si l'utilisateur
n'est pas en UTF-8.

Ce que tu d=E9cris avec wchar est autre chose, mais les
ayatollahs de l'UTF-8 sont contre car =E7a permet aux
codages existants (8-bit ou multibyte) de continuer =E0
=EAtre support=E9s, alors qu'il faudrait les =E9radiquer.

Les 2 approches requi=E8rent beaucoup plus de travail que
tu ne sembles l'imaginer.

--
Denis=0A=0AAcc=E9dez au courrier =E9lectronique de La Poste : www.laposte=
.net ; =0A3615 LAPOSTENET (0,34=80/mn) ; t=E9l : 08 92 68 13 50 (0,34=80/=
mn)=0A=0A

10 réponses

1 2 3 4 5
Avatar
Vincent Lefevre
On 2004-08-03 15:57:57 +0200, Erwan David wrote:
Le Tue 3/08/2004, Vincent Lefevre disait

> Le support des locales fait partie de la bibliothèque C standard.
> Après, comment c'est implémenté, ce n'est pas le problème du
> développeur.

C'est dans quelle partie de la norme ISO C 99 ?



7.11 Localization <locale.h>

--
Vincent Lefèvre - Web: <http://www.vinc17.org/>
100% validated (X)HTML - Acorn / RISC OS / ARM, free software, YP17,
Championnat International des Jeux Mathématiques et Logiques, etc.
Work: CR INRIA - computer arithmetic / SPACES project at LORIA


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Laurent Giroud
On Tue, 3 Aug 2004 16:15:42 +0200, Erwan David
wrote:
Avec un cierge ça marchera peut-être ? Parceque ce genre de truc à
part foutre dans la merde ceux qui ne peuvent pas se permettre de
passer en UTF-8 hein...

Que vous le vouliez ou non il est *impossible* d'imposer UTF-8 à tout
le monde.



puis en réaction à la même phrase
Daniel Déchelotte wrote:

| Certes, donc la meilleure solution est bien le passage le plus
| rapide possible à l'UTF-8 comme format par défaut.

Vas-y d'abord, je te regarde.
Pendant ce temps, je continuerai d'utiliser les caracteres imprimables
de l'ASCII et encore, sans l'espace, pour mes noms de fichier.

Et pour repondre a ton PS precedent : oui, c'est maintenant une
discussion hors-sujet et sans but.



Hors sujet sans aucun doute, mais pas sans but, en tout cas pour moi.
J'ose espérer que nous ne sommes pas tous en train de réciter un dogme
et que nous serions incapables de changer d'avis face à un argument
valable :)

Je termine sur un commentaire général sur la discussion : vous semblez
m'attribuez deux volontés : imposer unicode à tout le monde et le faire
ultra rapidement. Il ne me semble pas que j'ai jamais présenté les
choses ainsi, dans la mesure où il s'agit d'un problème d'ordre
technique je ne pense pas qu'imposer un format de façon indiscriminée
soit une solution appropriée, le propre de l'ingénierie c'est d'adapter
les solutions aux problèmes, pas d'imposer des systèmes rigides et il ne
me semble pas que j'en ai exprimé le souhait.
D'autre part sur la rapidité, elle concernait l'adaptation d'un logiciel
localisé et conçu de façon censée (qui inclue les problèmes de taille de
caractère qui ne sont pas spécifiques à unicode d'ailleurs comme la
signalé Vincent), pas la conversion complète d'une distribution qui
comme je l'ai signalé est une tâche d'une toute autre ampleur.

J'ai un peu peur que vous n'ayez mal interprété mes intentions ;)

Désolé si j'ai mal formulé tout ça.
Mon objectif n'était ni la polémique, ni l'imposition de quoi que ce
soit.

Mon PS : tes lignes sont trop longues, merci de les couper.



Ok. Je viens de passer mon sylpheed à 72 caractères par ligne pour é
viter de polluer ton affichage, mais j'ai quelques destinataires qui
vont me demander pourquoi j'utilise une taille fixe.

Est-ce que ce n'est pas plus logique de le faire à l'affichage ? Ca é
vite d'imposer un format de saisie à l'envoyeur et au destinataire non ?

Bah, c'est pas bien grave mais mon âme de développeur souffre un peu de
devoir me contraindre en tant qu'utilisateur plutôt que d'avoir recours
à une solution technique qui justement supprime ces contraintes :)

Laurent


--
Pensez
Avatar
Erwan David
Le Tue 3/08/2004, Vincent Lefevre disait
On 2004-08-03 15:35:04 +0200, Erwan David wrote:
> Le Tue 3/08/2004, Vincent Lefevre disait
> > On 2004-08-03 13:38:03 +0200, Erwan David wrote:
> > > Sauf qu'on est actuellement obligé de les supporter. Par exemple au
> > > boulot je pourrais passer en tout UTF-8, mais ça foutrais la merde
> > > quand mon code serait compilé sous windows... Il faut donc que les
> > > sources que j'édite (au moins) soient en iso-8859-1.
> >
> > Ça fout la merde pour ceux qui sont en ASCII ou en EBC-DIC. Pour des
> > sources C, dans l'idéal, il ne faut utiliser que le jeu de caractères
> > de base.
>
> c'est pire pour Java, et malheuresuement mes collègues n'ontpas voulu
> accepter "ascii only"....

En Java, tout n'est pas censé être en UTF-8 ou quelque chose du genre?



le compilo interprète le source selon le système (sous unix la
locale)... et un windows en français c'est du CP-1252...

--
Erwan


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Erwan David
Le Tue 3/08/2004, Vincent Lefevre disait
On 2004-08-03 15:55:57 +0200, Laurent Giroud wrote:
> Certes, donc la meilleure solution est bien le passage le plus
> rapide possible à l'UTF-8 comme format par défaut.

Une fois que zsh supportera l'UTF-8, c'est la première chose que je
ferai. :)



Moi aussi à conditipon de trouver comment compiler mon mutt avec le sla ng-utf8...

--
Erwan


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Vincent Lefevre
On 2004-08-03 19:27:27 +0200, Laurent Giroud wrote:
> Mon PS : tes lignes sont trop longues, merci de les couper.

Ok. Je viens de passer mon sylpheed à 72 caractères par ligne pour é
viter de polluer ton affichage, mais j'ai quelques destinataires qui
vont me demander pourquoi j'utilise une taille fixe.



Faut tout de même éviter de couper les mots en deux!

Concernant la limite du nombre de caractères par ligne, c'est
essentiellement historique. Tu peux toujours utiliser le format
flowed, qui utilise une taille fixe par ligne, mais peut être
interprété comme de véritables paragraphes par les logiciels
qui supportent ce format.

--
Vincent Lefèvre - Web: <http://www.vinc17.org/>
100% validated (X)HTML - Acorn / RISC OS / ARM, free software, YP17,
Championnat International des Jeux Mathématiques et Logiques, etc.
Work: CR INRIA - computer arithmetic / SPACES project at LORIA


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Vincent Lefevre
On 2004-08-03 19:54:32 +0200, Erwan David wrote:
Le Tue 3/08/2004, Vincent Lefevre disait
> Une fois que zsh supportera l'UTF-8, c'est la première chose que je
> ferai. :)

Moi aussi à conditipon de trouver comment compiler mon mutt avec le sla ng-utf8...



C'est bizarre, il y a apparemment un caractère de contrôle entre "sla"
et "ng-utf8" (ça me fait un retour à la ligne entre les deux, mais ce
n'est pas un n).

Concernant Mutt, je l'ai compilé avec ncurses, et ça fonctionne bien
avec les locales UTF-8 (que j'utilise donc uniquement avec Mutt, de
façon à pouvoir avoir à la fois *tous* les caractères de ISO-8859-1
et de ISO-8859-15). Enfin, le seul problème, ce sont les utilisateurs
qui envoient de l'ISO-8859-1 sans le déclarer, mais ce n'est pas
vraiment la faute de Mutt...

--
Vincent Lefèvre - Web: <http://www.vinc17.org/>
100% validated (X)HTML - Acorn / RISC OS / ARM, free software, YP17,
Championnat International des Jeux Mathématiques et Logiques, etc.
Work: CR INRIA - computer arithmetic / SPACES project at LORIA


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Erwan David
Le Tue 3/08/2004, Vincent Lefevre disait
On 2004-08-03 19:54:32 +0200, Erwan David wrote:
> Le Tue 3/08/2004, Vincent Lefevre disait
> > Une fois que zsh supportera l'UTF-8, c'est la première chose que je
> > ferai. :)
>
> Moi aussi à conditipon de trouver comment compiler mon mutt avec le sla ng-utf8...

C'est bizarre, il y a apparemment un caractère de contrôle entre "sla"
et "ng-utf8" (ça me fait un retour à la ligne entre les deux, mais ce
n'est pas un n).

Concernant Mutt, je l'ai compilé avec ncurses, et ça fonctionne bien
avec les locales UTF-8 (que j'utilise donc uniquement avec Mutt, de
façon à pouvoir avoir à la fois *tous* les caractères de ISO-8859-1
et de ISO-8859-15). Enfin, le seul problème, ce sont les utilisateurs
qui envoient de l'ISO-8859-1 sans le déclarer, mais ce n'est pas
vraiment la faute de Mutt...



j'ai des problèmes avec ncurses qui intercepte certaines combianisons
de touches sur lesquelles j'ai des macros...

genre C-s par exemple (qui note le mail comme un spam pour bogofilter)

Pour la gestion des charsets effectivment mutt nb'ast pas à la faute.

--
Erwan


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Vincent Lefevre
On 2004-08-03 21:51:06 +0200, Erwan David wrote:
j'ai des problèmes avec ncurses qui intercepte certaines combianisons
de touches sur lesquelles j'ai des macros...



Jamais remarqué cela.

genre C-s par exemple (qui note le mail comme un spam pour bogofilter)



Aucun problème avec C-s chez moi. Tu es sûr que ce n'est pas le
terminal qui intercepte le C-s (comportement par défaut)? Avant
de lancer Mutt dans un terminal, tu peux faire un

stty -ixon

pour désactiver le contrôle de flux; ainsi, C-s et C-q ne seront
plus interceptés. D'ailleurs, j'ai également ça dans mon ".zshrc".
Ça fonctionne avec Slang peut-être parce que Slang désactive
lui-même le contrôle de flux.

Pour d'autres trucs concernant ma config Mutt:

http://www.vinc17.org/mutt/index.fr.html

--
Vincent Lefèvre - Web: <http://www.vinc17.org/>
100% validated (X)HTML - Acorn / RISC OS / ARM, free software, YP17,
Championnat International des Jeux Mathématiques et Logiques, etc.
Work: CR INRIA - computer arithmetic / SPACES project at LORIA


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Michelle Konzack
--sgneBHv3152wZ8jf
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Am 2004-08-03 19:53:40, schrieb Erwan David:

le compilo interprète le source selon le système (sous unix la
locale)... et un windows en français c'est du CP-1252...



J'ai le Win 2003 Entreprise Server (original US et un allemand)
et tous le deux travailler avec UTF-8 et j'ai des problem massiv !


Greetings
Michelle

--
Linux-User #280138 with the Linux Counter, http://counter.li.org/
Michelle Konzack Apt. 917 ICQ #328449886
50, rue de Soultz MSM LinuxMichi
0033/3/88452356 67100 Strasbourg/France IRC #Debian (irc.icq.com)

--sgneBHv3152wZ8jf
Content-Type: application/pgp-signature; name="signature.pgp"
Content-Description: Digital signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)

iD8DBQFBEACrC0FPBMSS+BIRAlh1AJ92hRjdzfYuWIUHeSwYHvIx17ptqQCgvR6w
CMBAMa+HRYzTy/Dgk1N7jOY =uBWy
-----END PGP SIGNATURE-----

--sgneBHv3152wZ8jf--


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Michelle Konzack
--brEuL7wsLY8+TuWz
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Am 2004-08-03 19:54:32, schrieb Erwan David:
Le Tue 3/08/2004, Vincent Lefevre disait
> On 2004-08-03 15:55:57 +0200, Laurent Giroud wrote:
> > Certes, donc la meilleure solution est bien le passage le plus
> > rapide possible à l'UTF-8 comme format par défaut.
>
> Une fois que zsh supportera l'UTF-8, c'est la première chose que je
> ferai. :)

Moi aussi à conditipon de trouver comment compiler mon mutt avec le sla ng-utf8...



Pour WOODY ???

apt-get install mutt-utf8


ou un version plus nouveau ?

____ ( '/etc/apt/sources.list' ) _____________________________________
/
| deb http://www.backports.org/debian woody mutt
______________________________________________________________________

apt-get update

apt-get install mutt=1.5.6-20040722+0.backports.org.1


Ca marche parfect...
Si tu veux utiliser en plus "arabe" ou "fasi"

____ ( '/home/michelle/.mutt/muttrc' ) _______________________________
/
| set display_filter="/usr/bin/fribidi"
| set file_charset="us-ascii:iso-8859-1:iso-8859-15:utf-8"
| set send_charset="us-ascii:iso-8859-1:iso-8859-15:utf-8"
______________________________________________________________________


Greetings
Michelle

--
Linux-User #280138 with the Linux Counter, http://counter.li.org/
Michelle Konzack Apt. 917 ICQ #328449886
50, rue de Soultz MSM LinuxMichi
0033/3/88452356 67100 Strasbourg/France IRC #Debian (irc.icq.com)

--brEuL7wsLY8+TuWz
Content-Type: application/pgp-signature; name="signature.pgp"
Content-Description: Digital signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)

iD8DBQFBEAMbC0FPBMSS+BIRAksGAKCOH6CWE9psNtv7a7DcdBparXEpwwCfS8t4
xPkbmRWaYQoIdVCqWcd6Z80 =oTPb
-----END PGP SIGNATURE-----

--brEuL7wsLY8+TuWz--


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
1 2 3 4 5