Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
856 connectés 

  FORUM HardWare.fr
  Programmation
  Perl

  printf et utf8

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

printf et utf8

n°2121140
Titprem
Posté le 13-01-2012 à 10:57:55  profilanswer
 

:hello:
 
Lorsque je fais un printf (dans un fichier), j'ai un problème d'alignement lorsque les chaînes (en UTF8) contiennent des caractères accentués... Par contre, lorsque je change l'encodage des caractères, l'alignement se fait impeccablement, mais les caractères accentués sont mal présentés (sous la forme é pour le "é" ).
 
En clair :

Code :
  1. printf(WRK "%-10s : %s\n", $label1, $label2);

me donne soit un bon alignement, mais de mauvais caractères accentués :

Nom        : Martin
Numéro    : 12
Rue        : avenue de Paris

soit de bons caractères accentués mais un mauvais alignement :

Nom        : Martin
Numéro   : 12
Rue        : avenue de Paris


J'ai l'impression que printf fait une conversion interne (en ISO ?) pour faire ses alignements, mais je n'arrive pas à m'en sortir ! (J'utilise la version 5.8.8 de Perl).
 
Merci pour votre aide ! :)

mood
Publicité
Posté le 13-01-2012 à 10:57:55  profilanswer
 

n°2121143
Titprem
Posté le 13-01-2012 à 11:14:34  profilanswer
 

Suffit que je poste sur HFR pour trouver moi-même la réponse... :D

Code :
  1. printf(WRK "%-10s : %s\n", Encode::decode_utf8($label1), Encode::decode_utf8($label2));


Message édité par Titprem le 13-01-2012 à 11:14:53
n°2121173
Titprem
Posté le 13-01-2012 à 12:36:19  profilanswer
 

Petite précision : le fichier produit est alors codé en ISO. Pour retrouver un fichier UTF8 en sortie, il faut mettre :

Code :
  1. open(WRK, ">:utf8", $file);

n°2121251
gilou
Modérateur
Modzilla
Posté le 13-01-2012 à 19:07:54  profilanswer
 

Désolé, je viens juste de passer sur le topic, sinon je t'aurais indiqué la correction plus tôt.
Le fichier de sortie est à priori codé selon le codage par défaut de l'OS, donc souvent en ISO Latin 1.
A+,
 


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2121403
Titprem
Posté le 14-01-2012 à 22:51:51  profilanswer
 

Pas de soucis, gilou, ton aide est toujours précieuse ! :jap:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Perl

  printf et utf8

 

Sujets relatifs
Redondance d'un printf (débutant)mysql UTF8 question
Livre d'or et UTF8Find in Files + printf ???
Find + printf + contenu du fichierLimite du printf ?
Structure / Chaines / printf erronésoucis de POST-GET UTF8 etc etc
GTK et g_locale_to_utf8utf8 etc
Plus de sujets relatifs à : printf et utf8


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR