[utf8] script pour convertir son /home à UTF8

Questions et astuces concernant l'installation et la configuration d'archlinux
Avatar de l’utilisateur
kozaki
Chu Ko Nu
Messages : 422
Inscription : mer. 13 sept. 2006, 22:49
Localisation : London > . < Paris
Contact :

[utf8] script pour convertir son /home à UTF8

Message par kozaki »

Slt,

Le passage à utf-8 n'est apparemment pas une tasse de thé pour plusieurs collègues ici.
vincentxavier a utilisé avec succès l'outil iconv. Quant à moi j'ai converti en utf8 des répertoires encodés en tout & n'importe quoi (!) avec utrac.
(les liens renvoient au 2 topics sur ce forum)

Maitenant vous savez ptet que Mandriva vient de faire le saut vers le tout utf-8, avec la 2007. Et bien ils ppsent un script perl + iconv pour accélérer un peu tout ça :)
Le script est simple, pas de soucis de compatibilité sous Arch selon moi. Cependant je l'ai pas testé (je suis full utf8 depuis 2005).
qa.mandriva a écrit :When installing instead of upgrading, and keeping a previous /home, the install doesn't convert the /home to UTF8 and some characters might not display properly in filenames.
To solve this issue :
- save the following convert-filenames-to-utf8.pl script in your /home/UserName/, and
- run the following commands to convert your /home/UserName/ to UTF8 :

Code : Tout sélectionner

cd ~/
chmod u+rx convert-filenames-to-utf8.pl
./convert-filenames-to-utf8.pl
Source et script
~ Configs ~ PGP Key: 1C2A554EFF0157D9
« Demande un conseil à ton ennemi et fais le contraire (proverbe juif)
SVP intéressé par tout retour d'exp. sur Arch ARM en général, et sur portable (CrOS) en particulier.
Avatar de l’utilisateur
wain
Maître du Kyudo
Messages : 1854
Inscription : ven. 11 août 2006, 19:15
Localisation : Nancy (54)

Message par wain »

chaud :D
j'aimerai bien avoir l'avis de chipster avant de lancer ce script.


Est-ce qu'il demande à l'utilisateur avant de modifier quoi que ce soit ?

EDIT:
chez moi ça donne ça:

Code : Tout sélectionner

wain ~ $ ./convert-filenames-to-utf8.pl 
= does not contain UTF-8
Donc rien à faire ?
Baltazar
Hankyu
Messages : 17
Inscription : dim. 13 avr. 2008, 20:29
Localisation : Saran

Message par Baltazar »

Bonjour tout le monde !

Je remonte le sujet pour poser une ptite question (la flemme d'en faire un autre aussi) donc je voulais utiliser le scrip pour mettre en utf-8 des noms de chansons et plein d'autre trucs que j'ai récupérer d'un pc sous windows. Mais quand je fais

Code : Tout sélectionner

./Convert-filenames-to-utf8.pl 
J'obtiens ça :

Code : Tout sélectionner

converting file names from LC_ALL=fr_FR to LC_ALL=fr_FR.UTF-8 starting from directory /root
Missing constant iconv at ./Convert-filenames-to-utf8.pl line 45
Et je suis bloqué....quelqu'un a une idée ?
Merci d'avance ! :P
farvardin
Maître du Kyudo
Messages : 1084
Inscription : sam. 29 mars 2008, 22:56

Message par farvardin »

on dirait qu'il te manque iconv non ?

moi juste pour les titres de fichiers, j'utilise :

Code : Tout sélectionner

convmv -r -f iso-8859-15 -t utf8 .
cela dit ce que va se passer, si cela semble ok on rajoute juste --notest (à la rigueur j'aurais préféré un script qui permette de supprimer tous les accents des fichiers, c'est toujours source de problème un jour ou l'autre (surtout si on doit poser ses fichiers ailleurs)

Pour convertir le contenu des fichiers textes vers utf8, j'ai fait ce petit script, qui a l'avantage d'archiver les vieux fichiers en cas de problème, ainsi si c'est bon il suffit de supprimer le répertoire backup.iso8859 :

Code : Tout sélectionner

#!/bin/sh
# http://utrac.sourceforge.net/ est nécessaire pour ce script

mkdir backup.iso8859
#chemin=`pwd`
for ii in *.t2t *.txt *.php *.htm*
do
# tt=`file "$ii" | grep ISO-8859`
tt=`utrac -p "$ii"`
if [ "$tt" == ISO-8859-1 ] || [ "$tt" == ISO-8859-15 ]
then
echo "$ii est en $tt, il sera converti en utf8"
iconv -f ISO-8859-15 -t UTF-8 "$ii" -o "$ii.utf8"
mv "$ii" "backup.iso8859/$ii.iso8859.old"
mv "$ii.utf8" "$ii"
else
echo "$ii est déjà en $tt, il ne sera pas modifié"
fi
done
echo "Vos anciens fichiers ont été archivés dans backup.iso8859"
Baltazar
Hankyu
Messages : 17
Inscription : dim. 13 avr. 2008, 20:29
Localisation : Saran

Message par Baltazar »

farvardin a écrit :on dirait qu'il te manque iconv non ?

moi juste pour les titres de fichiers, j'utilise :

Code : Tout sélectionner

convmv -r -f iso-8859-15 -t utf8 .
Merci ça marche ! Enfin presque il fait que les fichiers pas les dossiers
:cry: ...

Sinon pour le script de départ j'ai bien iconv, donc je comprends pas.
Avatar de l’utilisateur
Calimero
Elfe
Messages : 692
Inscription : ven. 02 mai 2008, 18:16
Localisation : Nantes (44)

Message par Calimero »

Pour convertir des fichiers venant de partitions windaube avec leurs accents, j'ai fini par trouver qu'il faillait les convertir deux fois :

latin1->UTF8
latin1->UTF8

Ne me demandez pas pourquoi ! J'ai trouvé ça en tapant ma ligne convmv deux fois par erreur. :shock:
Warnaud a raison, un succès est une erreur qui a fini par aboutir ! :D
Mes trucs : LiveCD http://ctkarch.org/ ; Blog, guide Arch, etc… http://calimeroteknik.free.fr/
In a world without walls and fences, who needs windows and gates ?
Avatar de l’utilisateur
mélodie
Maître du Kyudo
Messages : 2784
Inscription : lun. 30 oct. 2006, 02:06
Localisation : Pyrénées

Message par mélodie »

Je me pencherais peut-être sur les conversions à l'utf8 cet hiver alors. :)
Baltazar
Hankyu
Messages : 17
Inscription : dim. 13 avr. 2008, 20:29
Localisation : Saran

Message par Baltazar »

Calimero a écrit :Pour convertir des fichiers venant de partitions windaube avec leurs accents, j'ai fini par trouver qu'il faillait les convertir deux fois :

latin1->UTF8
latin1->UTF8
Il me semble pas avoir eu le besoin de le faire 2 fois mais bon j'ai enfin toutes mes musiques 8) .
Merci encore !

héhé...j'ai pas démarré le sujet moi même je peux pas mettre en resolu :lol:
Répondre