Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

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 14:12:15 +0200, Laurent Giroud wrote:
Mais néanmoins, la libc et gettext gèrent déjà automatiquement
l'encodage en fonction de la locale,



Ce qui n'est pas forcément une bonne chose. L'encodage doit rester
le choix de programme. Par exemple, certaines chaînes peuvent être
utilisées dans le cadre d'un système client-serveur, avec un encodage
fixé (UTF-8 par exemple). Cf les discussions dans la ML de Subversion.

--
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

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 ?

--
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
Laurent Giroud
> > Mais néanmoins, la libc et gettext gèrent déjà automatiquement
> l'encodage en fonction de la locale,

Ce qui n'est pas forcément une bonne chose. L'encodage doit rester
le choix de programme. Par exemple, certaines chaînes peuvent être
utilisées dans le cadre d'un système client-serveur, avec un encodage
fixé (UTF-8 par exemple). Cf les discussions dans la ML de Subversion.



Certes, donc la meilleure solution est bien le passage le plus rapide possible à l'UTF-8 comme format par défaut.
Et l'utilisation de la locale uniquement pour les variables d'affichage (langue de l'interface, format des données numériques).

Laurent


--
Pensez
Avatar
Erwan David
Le Tue 3/08/2004, Laurent Giroud disait
> > Mais néanmoins, la libc et gettext gèrent déjà automatiquement
> > l'encodage en fonction de la locale,
>
> Ce qui n'est pas forcément une bonne chose. L'encodage doit rester
> le choix de programme. Par exemple, certaines chaînes peuvent être
> utilisées dans le cadre d'un système client-serveur, avec un encodage
> fixé (UTF-8 par exemple). Cf les discussions dans la ML de Subversion.

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



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.

--
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
Daniel Déchelotte
Laurent Giroud a écrit :

| 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.

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

--
Daniel Déchelotte
http://yo.dan.free.fr/


--
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
Loic Minier
Erwan David - Tue, Aug 03, 2004:

> 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 ?



Ce serait plutôt du POSIX/OpenGroup, en parituclier :
- ISO/IEC TR 10176:1998
- ISO/IEC TR 11017:1998
- ISO/IEC 15897:1999
- ISO/IEC 14651:2000

cf <http://www.open-std.org/jtc1/sc22/wg20/>.

cdlt,

--
Loïc Minier


--
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, Loic Minier disait
Erwan David - Tue, Aug 03, 2004:

> > 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 ?

Ce serait plutôt du POSIX/OpenGroup, en parituclier :
- ISO/IEC TR 10176:1998
- ISO/IEC TR 11017:1998
- ISO/IEC 15897:1999
- ISO/IEC 14651:2000

cf <http://www.open-std.org/jtc1/sc22/wg20/>.



Oui, doc pour moi ça n'a pas sa place dans une libc. Il y a du C sur
des systèmes non Posix... Et franchement je vois mal ce que viendrait
foutre une locale sur une carte à puce.

--
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 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. :)

--
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 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?

--
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 16:26:13 +0200, Erwan David wrote:
[locales]
Oui, doc pour moi ça n'a pas sa place dans une libc.



Si, du moins en hébergé (cf mon autre mail).

Il y a du C sur des systèmes non Posix... Et franchement je vois mal
ce que viendrait foutre une locale sur une carte à puce.



Ça peut très bien être une implémentation free-standing. Maintenant,
même dans l'embarqué, il peut y avoir des locales, en particulier
s'il y a une interface utilisateur.

--
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
1 2 3 4 5