Forum Clubic

(Résolu) Supprimer les caractères OEM

Bonjour,

Après quelques heures de recherche, je m’adresse à vous pour un coup de main.

Je suis en train de coder une application en Perl manipulant des fichiers XML codés UTF-8. Rien de bien difficile mais (parcequ’il y a toujours un mais) je trouve dans les fichiers XML des caractères OEM. J’ai en effet un “à” au lieu d’un espace à plusieurs endroits et Perl ne sait pas interpréter correctement ce fichu caractère.

Quelqu’un a une idée de savoir comment je peux le supprimer depuis Perl?
Je tourne sous WinXP avec Perl 5.10 et le caractère OEM est généré depuis un logiciel propriétaire sur lequel je n’ai aucun pouvoir.

Merci pour toutes les bonnes idées.
Edité le 10/07/2009 à 11:15

OEM?

Tu entends quoi par OEM?

OEM est le jeu de caractère étendu de IBM : www.joelonsoftware.com…

Globalement, j’ouvre un fichier en UTF8 qui m’affiche çà :
<Object TYPE=“FI_TGML” NAME=“CTAáS4” DESCR="" …
alors que j’essaie de le traiter avec çà
<Object TYPE=“FI_TGML” NAME=“CTA S4” DESCR=""

Les caractères OEM peuvent-être affichés avec un éditeur comme PsPad (Menu Affichage)

Je galère pour savoir comment traiter ce caractère. Je ne peux pas le supprimer parceque le logiciel propriétaire n’arrive plus à lire le fichier sinon … Il faut donc globalement que j’arrive à identifier et reproduire ce ‘à’ mais pour l’instant je ne trouve pas quel caractère c’est …
Edité le 10/07/2009 à 09:31

Bon après quelques tutos j’ai réussi à résoudre mon problème.
L’affichage que me donnait le cmd.exe quand je lançait mon Perl n’était pas bon …

Le caractère “à” qui s’affichait était en fait le codepoint U+00A0 (ESPACE INSECABLE). Il se traite dans Perl par “x{0A00}”.

C’est turbo chiant les codepage … j’ai bien galéré quand même :@