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

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Wget et caractères accentués

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Wget et caractères accentués

n°768720
mangouda
Posté le 07-01-2006 à 11:36:25  profilanswer
 

Bonjour,
 
Je cherche à récupérer la playlist des flux multicanaux TV de ma freebox
 
je tape donc la commande suivante
 

Code :
  1. wget http://mafreebox.freebox.fr/freeboxtv/playlist.m3u


 
Seulement, lorsque je liste ensuite le fichier récupéré, j'ai des problèmes avec les caractères accentués du genre :
 
#EXTINF:0,324 - France 3 RhÎne-Alpes
ou
#EXTINF:0,12 - NRJ 12 Stéréo
 
J'ai essayé avec le paramètre -p, mais çà ne change rien....
J'ai beau le manuel de wget, je ne trouve pas la solution...
 
Merci de votre aide

mood
Publicité
Posté le 07-01-2006 à 11:36:25  profilanswer
 

n°768726
limax
Posté le 07-01-2006 à 11:41:46  profilanswer
 

c'est un problème de charset utf8 ou autre. Que donne  un $ file -i playlist.m3u  ?

Message cité 1 fois
Message édité par limax le 07-01-2006 à 11:42:30
n°768738
mangouda
Posté le 07-01-2006 à 11:53:52  profilanswer
 

limax a écrit :

c'est un problème de charset utf8 ou autre. Que donne  un $ file -i playlist.m3u  ?


 
playlist.m3u: text/plain; charset=utf-8

n°768769
limax
Posté le 07-01-2006 à 13:06:40  profilanswer
 

il te faut alors le convertir en  avec
$  iconv  -f utf-8 -t iso-8859-1 <  playlist.m3u >  playlist.latin1.m3u
 
je fais exactement le contraire car j'ai mis les locales en utf8. Au début c'est un peu délicat mais après on est tranquil.

n°768787
mangouda
Posté le 07-01-2006 à 13:42:44  profilanswer
 

limax a écrit :

il te faut alors le convertir en  avec
$  iconv  -f utf-8 -t iso-8859-1 <  playlist.m3u >  playlist.latin1.m3u
 
je fais exactement le contraire car j'ai mis les locales en utf8. Au début c'est un peu délicat mais après on est tranquil.


 
Super,
 
Merci limax, çà fonctionne parfaitement
 
Tant que je t'ai sous la main, et comme tu sembles bien maitriser, comment tester en shell tes "locales" et accessoirement, les modifier dynamiquement
 
Merci

n°768806
mangouda
Posté le 07-01-2006 à 14:23:19  profilanswer
 

C'est bon, j'arrive à faire ce que je souhaitais faire....
Bon, c'est certainement pas optimisé mais çà fonctionne...
 
Merci encore
 

Code :
  1. # Resolution probleme caracteres accentues
  2. CharSet=`file -i $PlayList | awk -F[=] ' { print $2 }'`
  3. echo Type de craactere $CharSet >> $LogFile
  4. echo >> $LogFile
  5. iconv -f $CharSet -t iso8859-1 < $PlayList > $PWD/PlayList.latin
  6. mv $PWD/PlayList.latin $PlayList

Message cité 1 fois
Message édité par mangouda le 07-01-2006 à 14:23:48
n°768870
limax
Posté le 07-01-2006 à 17:25:47  profilanswer
 

mangouda a écrit :

C'est bon, j'arrive à faire ce que je souhaitais faire....
Bon, c'est certainement pas optimisé mais çà fonctionne...

j'ai fais comme toi un pgm.  
juste une chose attention à ne pas coder deux fois le même fichier c'est pourquoi j'ai mis un test avant.
Je ne suis pas un pro et il y a aussi des choses à critiquer, mais c'est mon pgm alors je l'utilise. J'ai passé un peu de temps pendant les vacances pour passer ma debian en utf8 (fichier tex, mysql...). les commandes file et iconv m'ont été bien utiles.

Code :
  1. #!/bin/sh
  2. if [ $# -ne 1 ]         # si le nombre de paramètres n'est pas 1
  3. then                    # affiche l'usage
  4. echo "Usage: $0 nom_du_fichier.txt"
  5. echo "Ce programme transforme un fichier de charset iso-8859-1 en utf8"
  6. exit 1
  7. fi
  8. char=`file -i $1 | sed 's/^.*charset=//'`  #récupère le charset du fichier
  9. if [ $char = iso-8859-1 ]
  10. then
  11. iconv -f iso-8859-1 -t utf-8 <  $1  >  $1.8  #conversion en utf8
  12. mv $1.8 $1
  13. echo "le fichier a été transformé en utf8"
  14. else echo "le fichier n'est pas iso-8859-1 mais "$char
  15. fi


Message édité par limax le 07-01-2006 à 20:37:18
n°768967
mangouda
Posté le 07-01-2006 à 21:30:15  profilanswer
 

Merci Limax,
 
Tu as raison,  ma solution est incomplète et je vais d'ailleurs en profiter pour copier-coller-adapter ton code...
J'ai essayé malgré tout par curiosité de convertir de l'iso 8859-1 en iso 8859-1, çà n'a pas l'air de le déranger, mais bon, il suffit d'un cas particulier....
 
Merci encore pour ton aide


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Wget et caractères accentués

 

Sujets relatifs
[Linux] Tableau de caractères[vi] remplacement du caractères "/"
[bash] supprimer les espaces à la fin d'une chaine de caractères ?[Cron] Script qui marche plus via cron (tar / wget / uuencode / mail)
[script shell] Comment echapper une chaine de caractères ?Problème de police de caractères ...
Pb clavier-linuxSuse9.1-LaTeX-format caractères UTF8/ISO??telecharger un site complet avec wget
wget --mirror -X=...supprimer un ensemble de caractères d'un texte [résolu]
Plus de sujets relatifs à : Wget et caractères accentués


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