bug-gnu-libiconv
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug-gnu-libiconv] Re: libiconv embedded linux ascii transliteral conver


From: Bruno Haible
Subject: [bug-gnu-libiconv] Re: libiconv embedded linux ascii transliteral conversion
Date: Thu, 23 Apr 2009 01:21:05 +0200
User-agent: KMail/1.9.9

Bonjour,

Je mets la liste de libiconv en copie.

Andreas Frisch a écrit:
> je travaille sur le Dreambox project, une récepteur DVB open source. nous 
> voulons implementer une option pour enregistrer des fichiers avec noms en 
> ascii seulement.
> par example une texte avec des caratères spéciaux en UTF-8
> "Olé Garçon! Diese Süßspeise schmeckt gar nicht übel! *börp*"
> 
> quand je faite à mon ordinateur avec Gentoo Linux:
> iconv -f UTF-8 -t ASCII//TRANSLIT test.txt
> 
> comme compté ça resulte:
> Ole Garcon! Diese Suessspeise schmeckt gar nicht uebel! *boerp*
> 
> mais à ma Dreambox avec embedded linux il y a:
> Ol'e Garcon! Diese S"ussspeise schmeckt gar nicht "ubel! *b"orp*

La différence vient du choix de l'implantation iconv. Le premier résultat
vient de la glibc. En locale allemande, elle convertit "ü" en "ue", ce qui
est correct pour l'Allemand. Le deuxième résultat vient de libiconv, qui
n'a pas des règles de conversion dépendantes de la locale.

Il faut savoir que libiconv est, par sa conception, plus petit et plus
simple que la partie iconv de la glibc. En particulier,
  - libiconv connait moins de jeux de caractères que la glibc,
  - des conversions de chaînes longues peuvent être deux fois plus rapides
    avec la glibc,
  - la transcription en ASCII est moins poussée.
C'est le prix à payer pour avoir une librarie de 1 Mo au lieu d'une
tribu de libraries faisant 20 Mo en total...

> est-ce qu'il est possible que cela soit converti exactement comme à 
> l'autre ordinateur? peut-etre j'ai oublié quelque chose...

Si le domaine d'utilisation de ton projet est uniquement en Allemagne,
tu peux aussi recompiler libiconv avec des transcriptions spécifiques
pour l'Allemand. Le fichier à modifier dans ce cas est
libiconv/lib/translit.def.

Si le domaine d'utilisation est international, il est mieux de ne
pas faire de transcription pareille du tout, car il n'y pas de
transcription ASCII pour le Chinois et le Japonais.

Bruno




reply via email to

[Prev in Thread] Current Thread [Next in Thread]