PHWinfo banniere

Titres
PORTAIL ANNUAIRE ARTICLES COMPARATEUR HÉBERGEURS DEVIS FORUMS RÉDUCTEUR D'URL
Précédent   PHWinfo > Forums Hébergement > Forum Serveur - Sécurité et techniques > fr.comp.os.linux.config > suppression d'accents avec iconv
S'inscrire FAQ Membres Recherche Messages du jour Marquer les forums comme lus
fr.comp.os.linux.config Prise en main d'un système Linux.

suppression d'accents avec iconv

Réponse
 
LinkBack Outils de la discussion
Vieux 01/09/2007, 04h00   #1
mpg
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut suppression d'accents avec iconv

Bonjour,

Il y un truc que j'aime bien avec recode, c'est la possibilité de convertir
automatiquement un texte en «7-bit» par un correspondance approximative mais
honnête. Par exemple:

mpg@siegel:~$ echo àéïôù | recode -f u8..flat
aeiou

Malheureusement, recode n'est pas présent sur tous les systèmes. Iconv par
contre est présent sur, en tout cas, tousceux que je fréquente. J'aimerais bien
pouvoir faire pareil avec iconv que ci-dessus. Il me semble que c'est possible
(quelqu'un me l'a dit, mais vite fait et je n'ai pas retenu l'option). Je
n'arrive pas à trouver et le page de man d'icon n'est franchement pas bavarde.

Quelqu'un sait-il faire ça ?

Merci d'avance,
Manuel.
  Réponse avec citation
Vieux 01/09/2007, 09h57   #2
Nicolas George
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: suppression d'accents avec iconv

(attention, tes lignes sont un petit peu trop longues)


mpg wrote in message <fbakkv$so8$1@talisker.lacave.net>:
> Malheureusement, recode n'est pas présent sur tous les systèmes. Iconv par
> contre est présent sur, en tout cas, tousceux que je fréquente. J'aimerais bien
> pouvoir faire pareil avec iconv que ci-dessus. Il me semble que c'est possible
> (quelqu'un me l'a dit, mais vite fait et je n'ai pas retenu l'option). Je
> n'arrive pas à trouver et le page de man d'icon n'est franchement pas bavarde.
>
> Quelqu'un sait-il faire ça ?


Si c'est un GNU iconv:

iconv -t ASCII//TRANSLIT

fait ça. Sinon, si tu as un perl 5.8, tu peux utiliser son module Unicode
pour mettre le texte en forme canonique décomposée et enlever les
combinants:

perl -MUnicode::Normalize -pe 'BEGIN{binmode STDIN, ":encoding(utf-8)"}
$_ = NFD $_; y/[^\x00-\xFF]//cd'

Le comportement est un petit peu moins bon pour les caractères qui ne sont
pas juste des caractères accentués, comme oe ou le symbole euro. Tu peux
essayer de varier entre NFD et NFKD pour voir le quel marche mieux.
  Réponse avec citation
Vieux 01/09/2007, 12h08   #3
mpg
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: suppression d'accents avec iconv

Le (on) samedi 01 septembre 2007 10:57, Nicolas George a écrit (wrote) :

> (attention, tes lignes sont un petit peu trop longues)
>

C'est vraiment trop long 80? Je descend à 76 alors.

> mpg wrote in message <fbakkv$so8$1@talisker.lacave.net>:
>>
>> Quelqu'un sait-il faire ça ?

>
> Si c'est un GNU iconv:
>
> iconv -t ASCII//TRANSLIT
>

Magnifique. C'est exactement ce que je cherchais.

> fait ça. Sinon, si tu as un perl 5.8, tu peux utiliser son module Unicode
> pour mettre le texte en forme canonique décomposée et enlever les
> combinants:
>
> perl -MUnicode::Normalize -pe 'BEGIN{binmode STDIN, ":encoding(utf-8)"}
> $_ = NFD $_; y/[^\x00-\xFF]//cd'
>

Oki. L'inconvénient par contre c'est qu'il faut que je le note

D'ailleurs, sur un système linux, lequel a-t-on le plus de chances de
trouver : Perl 5.8 ou GNU iconv? Et (par curiosité) sur d'autres unix?

Manuel.
  Réponse avec citation
Vieux 01/09/2007, 12h32   #4
Patrick Lamaizière
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: suppression d'accents avec iconv

mpg wrote:

> Et (par curiosité) sur d'autres unix?


Les BSD ont leur propre iconv, mais sans les translitérations. On peut
utiliser l'iconv/libiconv GNU sans soucis ceci dit (et même sous Windows).
  Réponse avec citation
Vieux 01/09/2007, 12h37   #5
Patrick Lamaizière
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: suppression d'accents avec iconv

Nicolas George wrote:

> Si c'est un GNU iconv:
>
> iconv -t ASCII//TRANSLIT


Mais ça transforme éàéà en 'e`a'e`a, ce qui est laid ama.

  Réponse avec citation
Vieux 01/09/2007, 13h52   #6
Nicolas George
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: suppression d'accents avec iconv

Patrick Lamaizière wrote in message <fbbisv$1h4p$1@news.davenulle.org>:
> Mais ça transforme éàéà en 'e`a'e`a


Pas chez moi, quelle est ta locale?
  Réponse avec citation
Vieux 01/09/2007, 13h55   #7
Nicolas George
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: suppression d'accents avec iconv

mpg wrote in message <fbbh86$176p$1@talisker.lacave.net>:
> Magnifique. C'est exactement ce que je cherchais.


Pour référence, c'est documenté dans la documentation de la bibliothèque GNU
iconv. Mais sur un système GNU, iconv est intégré à la libc, et cette
information n'est pas reproduite dans la doc de la libc.

> D'ailleurs, sur un système linux, lequel a-t-on le plus de chances de
> trouver : Perl 5.8 ou GNU iconv?


Les deux.

> Et (par curiosité) sur d'autres unix?


Plutôt perl 5.8.
  Réponse avec citation
Vieux 01/09/2007, 16h40   #8
Patrick Lamaizière
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: suppression d'accents avec iconv

Nicolas George wrote:

>> Mais ça transforme éàéà en 'e`a'e`a

>
> Pas chez moi, quelle est ta locale?


fr_FR.ISO8859-15, j'ai toujours eu ce comportement même en passant par la
fonction iconv(3). Les translitérations sont définies par le fichier
translit.def.
(copie ici : <http://user.lamaiziere.net/patrick/translit.txt>; le fichier
est en utf-8)

Par exemple 'é' est translitéré en « accute e » puis le accute est lui même
translitéré en ' (pour l'ascii//TRANSLIT)

Je parle de la libiconv GNU : http://www.gnu.org/software/libiconv/
  Réponse avec citation
Réponse


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +1. Il est actuellement 02h45.


Édité par : vBulletin® version 3.7.3
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 RC5 Tous droits réservés.
Version française #16 par l'association vBulletin francophone
PHWinfo est un site Éducation Sans Frontières
Ad Management by RedTyger
©Tous droits réservés par les parties respectives
Page generated in 0,12881 seconds with 16 queries