Je me prépare à passer de la 2006 à la 2007 tout en gardant mon /home (formatage de /). Quelle est la procédure pour migrer sans trop de soucis vers UTF-8?
Oui, c'était un peu prévu que ça allait devenir une faq
On a même fait rajouter un utilitaire dans le centre de controle: désormais on peut choisir son système d'accentuation dans le MCC.
Par contre, passer facilement à l'utf-8 sans problème, pour l'instant, je ne sais pas faire.
Les fichiers doivent être convertis et ce n'est pas simple.
Ma méthode:
-je laisse mon vieux home dans le vieux système fr_FR avec un utilisateur créé pour l'occasion.
-je migre selon mes besoins mes fichiers et je convertis ceux qui en ont besoin
-écueil: mon courrier. J'en suis là. Je n'ai donc pas encore migré.
-A venir: un tutorial dès que je trouve le temps d'en faire un ou qu'on m'en désigne un. _________________ pouet!
cette commande permet donc de convertir en utf-8 les noms, mais pas le contenu des fichiers textes. Il faudra utiliser le programme iconv.
Les dossiers et fichiers ainsi renommés seront écrasés.
Par contre, j'ai toujours l'affichage des en-têtes de mes messages dans kmail qui affiche des symboles au lieu des accents ?
UTF8 est l'encodage de caractères unicode : en principe, c'est un système d'encodage universel (toutes les langues sont supposées être supportées, contrairement au système ISO - XXXX) et une fois que tous les systèmes seront passés à utf8, ben on n'en bougera plus et c'en sera fini des caractères bizarre au lieu des accents.
Il reste le passage délicat de la conversion. _________________ laptop: HP pavilion dv6500 core2duo T5250 @ 1.50GHz /Nvidia Geforce 8400M GS /MDV 2010 powerpack 32.
Desktop: shuttle SX38/ core2duo E8600 @ 3.3GHz/Nvidia 9400GT/ MDV PWP 2010.0 x86_64
Le gros problème de l'UTF, c'est que c'est un jeu de caractères à longueur variable.
Ainsi, en ISO, codé sur 8 bit, on a 256 possibilités de caractères, ce qui n'est évidemment pas assez pour pouvoir gérer le mandarin+l'arabe+le grec+.... sans fin puisque le U veut quand même dire Universel !
(donc même le martien du sud peut être codé en UTF à priori)?
En UTF, le 1er bit indique la présence ou non d'un octet supplémentaire.
Donc, tous les caractères qui ne sont pas dans la table US7ASCII (ISO sur 7 bits), prennent 2 octets ou plus
Mais les 128 premiers caractères sont communs à l'ISO et à l'UTF, c'est la raison pour laquelle les caractères accentués posent problème alors que les carcatères non accentués non !
[HS]
Quote:
Je ne peux donc pas prendre IE, pour aller le faire tourner sous linux ? ....mince alors.
Oui, c'est bien embêtant car ce serait bien pratique d'avoir IE sous Wine pour lire les flash 8 !
[/HS]
à propos de IE : il faut que je change ma signature : en fait, au moment ou je l'ai mise, je ne pensais pas qu'on pouvait en avoir besoin, ne serait-ce que pour tester si un site est lisible par les windowsiens.
mais je pense que IES4linux qui télécharge IE sur le net est quand même dans la légalité. (c'est à confirmer par les spécialistes de la licence MS) _________________ laptop: HP pavilion dv6500 core2duo T5250 @ 1.50GHz /Nvidia Geforce 8400M GS /MDV 2010 powerpack 32.
Desktop: shuttle SX38/ core2duo E8600 @ 3.3GHz/Nvidia 9400GT/ MDV PWP 2010.0 x86_64
par ailleurs, pour le contenu des fichiers, un outil comme kwrite permet pas de choisir son format de caractères au moment d'enregister sous ? comme celui sous windows (je sais pas, je suis au boulot avec windows)? _________________ Confondateur de l'Association des Utilisateurs Francophones de Mandriva Linux
Avec la commande convmv, il est possible d'après le man d'exécuter une commande.
Pas de linux en ce moment pour tester, mais il est facile (d'après le man) de lancer ce genre de commande avec la conversion
convmv -f latin1 -t utf-8 -r --exec ``echo #2 >> ListeFichiersAconvertir''
pour chacun des fichiers.
De cette façon, on se crée la liste des fichiers (#1 est l'ancien nom, #2 le nouveau dans l'option --exec) avec les nouveaux noms et il suffit de parcourir le fichier avec un read pour exécuter iconv pour convertir le contenu. Si j'ai le temps et le courage de passer en UTF-8, je ferais un petit script pour faire ça facilement.
Mais de toute manière, ce serait un truc du genre :
while read File ; do iconv param1 param2 $File ; done < ListeFichiersAconvertir
avec param1 et 2 les valeurs qu'il faut mettre pour iconv.
Edit : Réflexion faite, c'est idiot de faire ça, ce n'est pas parce que le nom est à convertir que le contenu doit l'être, et encore moins le contraire...
Va falloir que je prenne des vacances moi
Jacques
Last edited by JacquesF on Mon Oct 09, 2006 6:50 am; edited 1 time in total
le choix de l'UTF-8 ne se fait qu'au niveau des paramètres de l'utilisateur, c'est bien ça ?? pas au niveau du formatage de la partition ?
donc si je fais une mise à jour simple de la 2006 en 2007, je ne passe pas en UTF-8, c'est bien ça ? y compris pour l'utilisateur root ?
Ensuite, à mois de créer un nouvel utilisateur et de voir ce que ça donne...
en tout cas, vu la quantité de fichiers que j'ai, ce sera impossible de passer en UTF-8... et je ne parle pas des problèmes de conversions de fichiers et d'utilisation de Java ou autre après !... en tout cas, pour moi, une conversion veut dire : conversion manuelle fichier par fichier, en testant avec l'appli qui y accède, bref, c'est impossible !
oui, effectivement, j'ai déjà lu cette page...
mais en fait, à aucun moment il n'est fait référence au passage à l'UTF-8 ! d'où mes interrogations !
en fait, j'ai déjà fait la mise à jour de la 2006 à 2007, j'ai eu le problème de la configuration X qui ne s'écrivait pas dans le fichier et un problème avec le driver de ma carte wifi...
pour l'UTF-8, pour le moment, je n'ai remarqué le problème que dans les noms de fichiers... mais je n'ai pas ouvert tout mes documents textes... et de plus, j'ai un autre poste en 2006 encore, donc je m'attends à voir arriver des incompatibilités ! d'où mes interrogations plus haut !!
Je n'ai pas eu de gros problèmes d'utf-8 sauf dans kmail.
Les dossiers avec des accents posent problèmes, j'ai perdu le contenu de plusieurs (c'était des copies bien sur).
J'ai essayé d'automatiser quelque chose à base d'inconv, mais je n'ai pas réussi, il y a trop de type de charset différent dans tous les fichiers de man .Mail, y compris des Unknown.
J'ai du prendre une autre route plus fastidieuse, mais plus sure. _________________ pouet!
Last edited by imr on Sun Oct 08, 2006 11:00 am; edited 1 time in total
j'ai fait le week-end dernier un petit script de réencodage de toute une arborescence. Je viens de prendre le temps de faire une petite page web pour présenter et expliquer la chose : http://sebdeblinux.free.fr/.
Dites-moi ce que vous en pensez, si cela vous est utile et surtout vos suggestions d'améliorations ou rapports de bugs. J'insiste sur le fait de faire vos essais sur une copie de vos données.
j'ai fait le week-end dernier un petit script de réencodage de toute une arborescence. Je viens de prendre le temps de faire une petite page web pour présenter et expliquer la chose : http://sebdeblinux.free.fr/...
Salut Sébastien,
Merci pour cette excellente moulinette. Mandriva pourrait peut-être l'intégrer d'une manière ou d'une autre pour faciliter les migrations.
Je rajoute de ce pas l'URL de ton script sur le petit tutoriel que j'ai écrit sur le forum du club _________________ Utiliser Mandriva c'est bien, le faire savoir autour de soi c'est mieux !
Mandriva pourrait peut-être l'intégrer d'une manière ou d'une autre pour faciliter les migrations.
Pour çà il aurait fallu l'écrire au mois d'août Peut-être que pour la version 2007.1 on peut envisager un outil graphique "drakeReencoding" qui permet de choisir un dossier et de tout réencoder. Par contre il faut être absolument sûr de ne pas mettre la pagaille.
Pour l'instant mon code ne va pas voir les fichiers cachés (.*) : en effet dans ma boucle for j'ai :
Code:
for fic in *
do
base_fic=$(basename -- "$fic")
....
done
qui traite bien les noms comportant un espace mais ne prend pas ceux commençant par un point.
Si je mets :
Code:
liste=`ls -A`
for fic in $liste
do
base_fic=$(basename -- "$fic")
....
done
J'ai les fichiers commençant par un point mais les espaces ne sont pas bien traités...
Pour ton problème de boucle sur tous les fichiers, mets simplement
Code:
for File in * .* ; do
if [ $File != "." -a $File != ".." ] ; then
#Traitement des fichiers
fi
done
Une boucle for peut parfaitement prendre plusieurs valeurs ou listes de valeurs à traiter. Si il y en a beaucoup (un * sur un gros répertoire peut parfois saturer la taille de la ligne de commande) il faut mieux passer par un xargs.
Pour convertir à la volée le nom du variable, essaye un truc du genre : toto=$(echo $toto | CommandeARéaliser), en général ça fonctionne assez bien, sinon il y a eval qui permet d'évaluer le résultat d'une commande.
J'ai malencontreusement exécuter la commande convmv --notest -f iso-8859-15 -t utf-8 --nfc -r * et cela a eu pour conséquence de me convertir tous les caractères accentués en n'importe quoi...
Existe t'il un moyen de faire marche arrière ??
ahaire wrote:
Pour convertir tous ses noms de répertoires et de fichiers du format iso8859 vers le format utf-8, il existe un utilitaire qui s'appelle convmv.
En premier lieu, il faut l'installer, ce que l'on peut faire en reconfigurant ses sources à l'aide de easyurpmi.org
Puis, ouvrir une console, se placer dans le répertoire racine voulu et taper :
cette commande permet donc de convertir en utf-8 les noms, mais pas le contenu des fichiers textes. Il faudra utiliser le programme iconv.
Les dossiers et fichiers ainsi renommés seront écrasés.
Par contre, j'ai toujours l'affichage des en-têtes de mes messages dans kmail qui affiche des symboles au lieu des accents ?
Alors finalement, j'ai installé la 2007 en mettant de coté les documents de mon utilisateur. J'ai lancé un "convmv -f latin1 -t utf-8 -r --notest /home/erwan/dossier2006" en suivant le tutoriel http://forum.club.mandriva.com/viewtopic.php?t=54123.
J'ai très peu de fichiers textes bruts. Donc ça a suffit. Mail sous TB, docs openoffice... tout marche comme il faut. Voila, un grosse montagne pour rien en ce qui me concerne.
j'ai fait le week-end dernier un petit script de réencodage de toute une arborescence. Je viens de prendre le temps de faire une petite page web pour présenter et expliquer la chose : http://sebdeblinux.free.fr/.
Dites-moi ce que vous en pensez, si cela vous est utile et surtout vos suggestions d'améliorations ou rapports de bugs. J'insiste sur le fait de faire vos essais sur une copie de vos données.
Bon courage !
Sébastien
Salut,
La première chose à faire dans ton script, c'est de SUPPRIMER TOUS LES ACCENTS Y COMPRIS DES COMMENTAIRES.
Depuis que j'ai lancé un de mes scripts sur un PC américain j'ai compris ma douleur, et c'est devenu une règle absolue.
_________________ vaut mieux du mégasoft que du microsoft
Si quelqu'un pouvait m'indiquer comment revenir à l'option précédente, cela me sortirait d'une pénible situation....
Merci par avance..
pergie wrote:
J'ai malencontreusement exécuter la commande convmv --notest -f iso-8859-15 -t utf-8 --nfc -r * et cela a eu pour conséquence de me convertir tous les caractères accentués en n'importe quoi...
Existe t'il un moyen de faire marche arrière ??
ahaire wrote:
Pour convertir tous ses noms de répertoires et de fichiers du format iso8859 vers le format utf-8, il existe un utilitaire qui s'appelle convmv.
En premier lieu, il faut l'installer, ce que l'on peut faire en reconfigurant ses sources à l'aide de easyurpmi.org
Puis, ouvrir une console, se placer dans le répertoire racine voulu et taper :
cette commande permet donc de convertir en utf-8 les noms, mais pas le contenu des fichiers textes. Il faudra utiliser le programme iconv.
Les dossiers et fichiers ainsi renommés seront écrasés.
Par contre, j'ai toujours l'affichage des en-têtes de mes messages dans kmail qui affiche des symboles au lieu des accents ?
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum