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

Transformer les caractères accentués d'une feuille CSV ?

2 réponses
Avatar
ctobini
Bonjour,

J'ai enregistr=E9 une feuilles Excel en CSV (iso-8859-15), en lisant ce
fichier par un script Perl, les caract=E8res accentu=E9s sont remplac=E9s
dans le terminal par des carr=E9s.

J'ai donc sauvegard=E9 ce fichier en utf-8, les caract=E8res sont bien
rep=E9r=E9s mais je n'arrive pas =E0 les remplacer :

tr/=E9/e/; me donne Jeer=F4me par exemple.

Auriez-vous une id=E9e (remplacer les caract=E8res par le code
correspondant, la syntaxe de tr/ ou s/...) ?

Merci.

C=2E Tobini

2 réponses

Avatar
Jacques Caron
Salut,

On 30 Aug 2005 09:34:03 -0700, ctobini wrote:

J'ai enregistré une feuilles Excel en CSV (iso-8859-15), en lisant ce
fichier par un script Perl, les caractères accentués sont remplacés
dans le terminal par des carrés.


Quel est le charset utilisé par le terminal?

J'ai donc sauvegardé ce fichier en utf-8, les caractères sont bien
repérés mais je n'arrive pas à les remplacer :

tr/é/e/; me donne Jeerôme par exemple.


Quelle version de perl? Lui avez-vous dit d'une façon ou d'une autre que
le fichier était en UTF-8? Ceci dit, Jeerôme je trouve ça assez fort, je
ne vois pas dans quel contexte on pourrait arriver à ça...

Auriez-vous une idée (remplacer les caractères par le code
correspondant, la syntaxe de tr/ ou s/...) ?


En perl 5.8.x:

open FH,"<:utf8","nomdufichier"

Jacques.

Avatar
ctobini
Bonjour et merci de votre réponse,

Mon Terminal est en UTF-8 et le fichier en ISO-8859 (15 je pense).

J'utilise une version ActivePerl 5.8.7 sous Ubuntu, j'aurais à
utiliser la même version plus tard sous Windows XP.

J'ai utilisé également un use open IO => ":encoding(iso-8859-15)";

Du point de vue du Terminal, les accents sont bien interprétés si je
lis directement le fichier dans le script perl, par contre je n'arrive
toujours pas à les 'convertir' avec les regex.

C. Tobini