J'ai archivé mon compte sur une machine dont la locale était en
iso-8856-15 (latin 1) mais quand je détare le tout sur ma machine qui
elle est en utf-8 les caractères accentués ne passent plus. C'est assez
logique mais existe-t-il une option dans tar pour palier à ce problème?
J'ai dans les pages info sans trouver de réponse. Y a-t-il une méthode
pour éviter ce problème?
Merci,
--
http://www.nicolas.pontoizeau.org/
Nicolas Pontoizeau - Promotion EFREI 2005
Nicolas Pontoizeau <pontoize*NOSPAM*@Efrei.fr.invalid> écrit:
J'ai archivé mon compte sur une machine dont la locale était en iso-8856-15 (latin 1) mais quand je détare le tout sur ma machine qui elle est en utf-8 les caractères accentués ne passent plus. C'est assez
Que signifie précisément "ne passent plus" ?
Nicolas Pontoizeau <pontoize*NOSPAM*@Efrei.fr.invalid> écrit:
J'ai archivé mon compte sur une machine dont la locale était en
iso-8856-15 (latin 1) mais quand je détare le tout sur ma machine qui
elle est en utf-8 les caractères accentués ne passent plus. C'est assez
Nicolas Pontoizeau <pontoize*NOSPAM*@Efrei.fr.invalid> écrit:
J'ai archivé mon compte sur une machine dont la locale était en iso-8856-15 (latin 1) mais quand je détare le tout sur ma machine qui elle est en utf-8 les caractères accentués ne passent plus. C'est assez
Que signifie précisément "ne passent plus" ?
Nicolas George
Nicolas Pontoizeau wrote in message <slrnd5t3g3.nmb.pontoize*NOSPAM*@choam.unix.efrei.fr>:
J'ai archivé mon compte sur une machine dont la locale était en iso-8856-15 (latin 1) mais quand je détare le tout sur ma machine qui elle est en utf-8 les caractères accentués ne passent plus.
Petite clarification : les noms de fichiers sous Unix sont des chaînes d'octets, toutes les valeurs étant permises sauf 0x00 et 0x2F (ce dernier étant / en ASCII)¹. La relation entre ces suites d'octets et des caractères n'est faite qu'à l'affichage ou la saisie, et c'est seulement à ce moment-là qu'une éventuelle locale peut intervenir. En particulier, tar n'a aucune notion de locale dans les noms de fichiers, et la séquence archivage-désarchivage préserve fidellement ces noms, en tant que chaînes d'octets.
Pour recoder les noms de fichiers, on peut chercher du côté de programmes comme convmv.
Pour l'avenir, personnellement, je conseille de restreindre les noms de fichiers autant que possible aux caractères [a-zA-Z0-9_,.+:@-]. C'est une contrainte mineure, et ça évite bien des ennuis.
1 : certains filesystems exotiques peuvent poser des restrictions plus strictes, voire même avoir des notions d'encodages à des endroits bizarres ; ce n'est normalement pas visible en userland au delà du fait qu'un nom de fichier peut être rejeté.
Nicolas Pontoizeau wrote in message
<slrnd5t3g3.nmb.pontoize*NOSPAM*@choam.unix.efrei.fr>:
J'ai archivé mon compte sur une machine dont la locale était en
iso-8856-15 (latin 1) mais quand je détare le tout sur ma machine qui
elle est en utf-8 les caractères accentués ne passent plus.
Petite clarification : les noms de fichiers sous Unix sont des chaînes
d'octets, toutes les valeurs étant permises sauf 0x00 et 0x2F (ce dernier
étant / en ASCII)¹. La relation entre ces suites d'octets et des caractères
n'est faite qu'à l'affichage ou la saisie, et c'est seulement à ce moment-là
qu'une éventuelle locale peut intervenir. En particulier, tar n'a aucune
notion de locale dans les noms de fichiers, et la séquence
archivage-désarchivage préserve fidellement ces noms, en tant que chaînes
d'octets.
Pour recoder les noms de fichiers, on peut chercher du côté de programmes
comme convmv.
Pour l'avenir, personnellement, je conseille de restreindre les noms de
fichiers autant que possible aux caractères [a-zA-Z0-9_,.+:@-]. C'est une
contrainte mineure, et ça évite bien des ennuis.
1 : certains filesystems exotiques peuvent poser des restrictions plus
strictes, voire même avoir des notions d'encodages à des endroits bizarres ;
ce n'est normalement pas visible en userland au delà du fait qu'un nom de
fichier peut être rejeté.
Nicolas Pontoizeau wrote in message <slrnd5t3g3.nmb.pontoize*NOSPAM*@choam.unix.efrei.fr>:
J'ai archivé mon compte sur une machine dont la locale était en iso-8856-15 (latin 1) mais quand je détare le tout sur ma machine qui elle est en utf-8 les caractères accentués ne passent plus.
Petite clarification : les noms de fichiers sous Unix sont des chaînes d'octets, toutes les valeurs étant permises sauf 0x00 et 0x2F (ce dernier étant / en ASCII)¹. La relation entre ces suites d'octets et des caractères n'est faite qu'à l'affichage ou la saisie, et c'est seulement à ce moment-là qu'une éventuelle locale peut intervenir. En particulier, tar n'a aucune notion de locale dans les noms de fichiers, et la séquence archivage-désarchivage préserve fidellement ces noms, en tant que chaînes d'octets.
Pour recoder les noms de fichiers, on peut chercher du côté de programmes comme convmv.
Pour l'avenir, personnellement, je conseille de restreindre les noms de fichiers autant que possible aux caractères [a-zA-Z0-9_,.+:@-]. C'est une contrainte mineure, et ça évite bien des ennuis.
1 : certains filesystems exotiques peuvent poser des restrictions plus strictes, voire même avoir des notions d'encodages à des endroits bizarres ; ce n'est normalement pas visible en userland au delà du fait qu'un nom de fichier peut être rejeté.
Laurent Wacrenier
Nicolas Pontoizeau <pontoize*NOSPAM*@Efrei.fr.invalid> écrit:
Nicolas Pontoizeau <pontoize*NOSPAM*@Efrei.fr.invalid> écrit:
J'ai archivé mon compte sur une machine dont la locale était en iso-8856-15 (latin 1) mais quand je détare le tout sur ma machine qui elle est en utf-8 les caractères accentués ne passent plus. C'est assez
Que signifie précisément "ne passent plus" ?
exemple : filename en ISO devient filename en utf-8 français.pdf -> fran?ais.pdf (unicode non valide)
Donc les fichiers sont effectivement écrits et sont accessibles ?
Il n'y a qu'à convertir les noms des répertoires et des fichiers à grands coups de "iconv -f iso-8859-15 -t utf-8"
Si l'archive peut être refaite, un GNU tar récent peut éventuelement traiter celà avec "tar --format=posix" ou "tar --format=pax".
Nicolas Pontoizeau <pontoize*NOSPAM*@Efrei.fr.invalid> écrit:
Nicolas Pontoizeau <pontoize*NOSPAM*@Efrei.fr.invalid> écrit:
J'ai archivé mon compte sur une machine dont la locale était en
iso-8856-15 (latin 1) mais quand je détare le tout sur ma machine qui
elle est en utf-8 les caractères accentués ne passent plus. C'est assez
Que signifie précisément "ne passent plus" ?
exemple :
filename en ISO devient filename en utf-8
français.pdf -> fran?ais.pdf (unicode non valide)
Donc les fichiers sont effectivement écrits et sont accessibles ?
Il n'y a qu'à convertir les noms des répertoires et des fichiers à
grands coups de "iconv -f iso-8859-15 -t utf-8"
Si l'archive peut être refaite, un GNU tar récent peut éventuelement
traiter celà avec "tar --format=posix" ou "tar --format=pax".
Nicolas Pontoizeau <pontoize*NOSPAM*@Efrei.fr.invalid> écrit:
Nicolas Pontoizeau <pontoize*NOSPAM*@Efrei.fr.invalid> écrit:
J'ai archivé mon compte sur une machine dont la locale était en iso-8856-15 (latin 1) mais quand je détare le tout sur ma machine qui elle est en utf-8 les caractères accentués ne passent plus. C'est assez
Que signifie précisément "ne passent plus" ?
exemple : filename en ISO devient filename en utf-8 français.pdf -> fran?ais.pdf (unicode non valide)
Donc les fichiers sont effectivement écrits et sont accessibles ?
Il n'y a qu'à convertir les noms des répertoires et des fichiers à grands coups de "iconv -f iso-8859-15 -t utf-8"
Si l'archive peut être refaite, un GNU tar récent peut éventuelement traiter celà avec "tar --format=posix" ou "tar --format=pax".
Nicolas Pontoizeau
Nicolas Pontoizeau <pontoize*NOSPAM*@Efrei.fr.invalid> écrit:
J'ai archivé mon compte sur une machine dont la locale était en iso-8856-15 (latin 1) mais quand je détare le tout sur ma machine qui elle est en utf-8 les caractères accentués ne passent plus. C'est assez
Que signifie précisément "ne passent plus" ?
exemple : filename en ISO devient filename en utf-8 français.pdf -> fran?ais.pdf (unicode non valide)
-- http://www.nicolas.pontoizeau.org/ Nicolas Pontoizeau - Promotion EFREI 2005
Nicolas Pontoizeau <pontoize*NOSPAM*@Efrei.fr.invalid> écrit:
J'ai archivé mon compte sur une machine dont la locale était en
iso-8856-15 (latin 1) mais quand je détare le tout sur ma machine qui
elle est en utf-8 les caractères accentués ne passent plus. C'est assez
Que signifie précisément "ne passent plus" ?
exemple :
filename en ISO devient filename en utf-8
français.pdf -> fran?ais.pdf (unicode non valide)
--
http://www.nicolas.pontoizeau.org/
Nicolas Pontoizeau - Promotion EFREI 2005
Nicolas Pontoizeau <pontoize*NOSPAM*@Efrei.fr.invalid> écrit:
J'ai archivé mon compte sur une machine dont la locale était en iso-8856-15 (latin 1) mais quand je détare le tout sur ma machine qui elle est en utf-8 les caractères accentués ne passent plus. C'est assez
Que signifie précisément "ne passent plus" ?
exemple : filename en ISO devient filename en utf-8 français.pdf -> fran?ais.pdf (unicode non valide)
-- http://www.nicolas.pontoizeau.org/ Nicolas Pontoizeau - Promotion EFREI 2005
Nicolas Pontoizeau
Petite clarification : les noms de fichiers sous Unix sont des chaînes d'octets, toutes les valeurs étant permises sauf 0x00 et 0x2F (ce dernier étant / en ASCII)¹. La relation entre ces suites d'octets et des caractères n'est faite qu'à l'affichage ou la saisie, et c'est seulement à ce moment-là qu'une éventuelle locale peut intervenir. En particulier, tar n'a aucune notion de locale dans les noms de fichiers, et la séquence archivage-désarchivage préserve fidellement ces noms, en tant que chaînes d'octets.
Précieuse clarification merci!
Pour recoder les noms de fichiers, on peut chercher du côté de programmes comme convmv.
cool!
Pour l'avenir, personnellement, je conseille de restreindre les noms de fichiers autant que possible aux caractères [a-zA-Z0-9_,.+:@-]. C'est une contrainte mineure, et ça évite bien des ennuis.
Hum bon je vais renommer tous mes fichiers en caractères chinois alors. C'est bien que je fasse gaffe maintenant je n'ai que 300 fichiers au noms chinois :( C'est quand même pas pratique du tout que tout le monde ne soit pas en utf-8...
-- http://www.nicolas.pontoizeau.org/ Nicolas Pontoizeau - Promotion EFREI 2005
Petite clarification : les noms de fichiers sous Unix sont des chaînes
d'octets, toutes les valeurs étant permises sauf 0x00 et 0x2F (ce dernier
étant / en ASCII)¹. La relation entre ces suites d'octets et des caractères
n'est faite qu'à l'affichage ou la saisie, et c'est seulement à ce moment-là
qu'une éventuelle locale peut intervenir. En particulier, tar n'a aucune
notion de locale dans les noms de fichiers, et la séquence
archivage-désarchivage préserve fidellement ces noms, en tant que chaînes
d'octets.
Précieuse clarification merci!
Pour recoder les noms de fichiers, on peut chercher du côté de programmes
comme convmv.
cool!
Pour l'avenir, personnellement, je conseille de restreindre les noms de
fichiers autant que possible aux caractères [a-zA-Z0-9_,.+:@-]. C'est une
contrainte mineure, et ça évite bien des ennuis.
Hum bon je vais renommer tous mes fichiers en caractères chinois alors.
C'est bien que je fasse gaffe maintenant je n'ai que 300 fichiers au
noms chinois :( C'est quand même pas pratique du tout que tout le monde
ne soit pas en utf-8...
--
http://www.nicolas.pontoizeau.org/
Nicolas Pontoizeau - Promotion EFREI 2005
Petite clarification : les noms de fichiers sous Unix sont des chaînes d'octets, toutes les valeurs étant permises sauf 0x00 et 0x2F (ce dernier étant / en ASCII)¹. La relation entre ces suites d'octets et des caractères n'est faite qu'à l'affichage ou la saisie, et c'est seulement à ce moment-là qu'une éventuelle locale peut intervenir. En particulier, tar n'a aucune notion de locale dans les noms de fichiers, et la séquence archivage-désarchivage préserve fidellement ces noms, en tant que chaînes d'octets.
Précieuse clarification merci!
Pour recoder les noms de fichiers, on peut chercher du côté de programmes comme convmv.
cool!
Pour l'avenir, personnellement, je conseille de restreindre les noms de fichiers autant que possible aux caractères [a-zA-Z0-9_,.+:@-]. C'est une contrainte mineure, et ça évite bien des ennuis.
Hum bon je vais renommer tous mes fichiers en caractères chinois alors. C'est bien que je fasse gaffe maintenant je n'ai que 300 fichiers au noms chinois :( C'est quand même pas pratique du tout que tout le monde ne soit pas en utf-8...
-- http://www.nicolas.pontoizeau.org/ Nicolas Pontoizeau - Promotion EFREI 2005
Nicolas Pontoizeau
Donc les fichiers sont effectivement écrits et sont accessibles ?
oui c'est juste le nom qui est altéré.
Il n'y a qu'à convertir les noms des répertoires et des fichiers à grands coups de "iconv -f iso-8859-15 -t utf-8"
Hum sur les fichier pdf ça m'a pas donné quelque chose de concluant. Le fichier était vide (blanc). Quel est la différence entre iconv et recode? J'utilise recode pour les fichier texte et il marche bien.
Si l'archive peut être refaite, un GNU tar récent peut éventuelement traiter celà avec "tar --format=posix" ou "tar --format=pax".
:~$ tar --version tar (GNU tar) 1.13.93
il ne connait pas format :(
-- http://www.nicolas.pontoizeau.org/ Nicolas Pontoizeau - Promotion EFREI 2005
Donc les fichiers sont effectivement écrits et sont accessibles ?
oui c'est juste le nom qui est altéré.
Il n'y a qu'à convertir les noms des répertoires et des fichiers à
grands coups de "iconv -f iso-8859-15 -t utf-8"
Hum sur les fichier pdf ça m'a pas donné quelque chose de concluant. Le
fichier était vide (blanc).
Quel est la différence entre iconv et recode? J'utilise recode pour les
fichier texte et il marche bien.
Si l'archive peut être refaite, un GNU tar récent peut éventuelement
traiter celà avec "tar --format=posix" ou "tar --format=pax".
nico@peiling:~$ tar --version
tar (GNU tar) 1.13.93
il ne connait pas format :(
--
http://www.nicolas.pontoizeau.org/
Nicolas Pontoizeau - Promotion EFREI 2005
Donc les fichiers sont effectivement écrits et sont accessibles ?
oui c'est juste le nom qui est altéré.
Il n'y a qu'à convertir les noms des répertoires et des fichiers à grands coups de "iconv -f iso-8859-15 -t utf-8"
Hum sur les fichier pdf ça m'a pas donné quelque chose de concluant. Le fichier était vide (blanc). Quel est la différence entre iconv et recode? J'utilise recode pour les fichier texte et il marche bien.
Si l'archive peut être refaite, un GNU tar récent peut éventuelement traiter celà avec "tar --format=posix" ou "tar --format=pax".
:~$ tar --version tar (GNU tar) 1.13.93
il ne connait pas format :(
-- http://www.nicolas.pontoizeau.org/ Nicolas Pontoizeau - Promotion EFREI 2005
Laurent Wacrenier
Nicolas Pontoizeau <pontoize*NOSPAM*@Efrei.fr.invalid> écrit:
Il n'y a qu'à convertir les noms des répertoires et des fichiers à grands coups de "iconv -f iso-8859-15 -t utf-8"
Hum sur les fichier pdf ça m'a pas donné quelque chose de concluant. Le fichier était vide (blanc). Quel est la différence entre iconv et recode? J'utilise recode pour les fichier texte et il marche bien.
Lancer iconv sur le nom du fichier. Pas sur le fichier.
Si l'archive peut être refaite, un GNU tar récent peut éventuelement traiter celà avec "tar --format=posix" ou "tar --format=pax".
:~$ tar --version tar (GNU tar) 1.13.93
il ne connait pas format :(
Depuis 1.14.x, la dernière est la 1.15.
Nicolas Pontoizeau <pontoize*NOSPAM*@Efrei.fr.invalid> écrit:
Il n'y a qu'à convertir les noms des répertoires et des fichiers à
grands coups de "iconv -f iso-8859-15 -t utf-8"
Hum sur les fichier pdf ça m'a pas donné quelque chose de concluant. Le
fichier était vide (blanc).
Quel est la différence entre iconv et recode? J'utilise recode pour les
fichier texte et il marche bien.
Lancer iconv sur le nom du fichier.
Pas sur le fichier.
Si l'archive peut être refaite, un GNU tar récent peut éventuelement
traiter celà avec "tar --format=posix" ou "tar --format=pax".
nico@peiling:~$ tar --version
tar (GNU tar) 1.13.93
Nicolas Pontoizeau <pontoize*NOSPAM*@Efrei.fr.invalid> écrit:
Il n'y a qu'à convertir les noms des répertoires et des fichiers à grands coups de "iconv -f iso-8859-15 -t utf-8"
Hum sur les fichier pdf ça m'a pas donné quelque chose de concluant. Le fichier était vide (blanc). Quel est la différence entre iconv et recode? J'utilise recode pour les fichier texte et il marche bien.
Lancer iconv sur le nom du fichier. Pas sur le fichier.
Si l'archive peut être refaite, un GNU tar récent peut éventuelement traiter celà avec "tar --format=posix" ou "tar --format=pax".
:~$ tar --version tar (GNU tar) 1.13.93
il ne connait pas format :(
Depuis 1.14.x, la dernière est la 1.15.
Pascal Bourguignon
Nicolas Pontoizeau <pontoize*NOSPAM*@Efrei.fr.invalid> writes:
Donc les fichiers sont effectivement écrits et sont accessibles ?
oui c'est juste le nom qui est altéré.
Il n'y a qu'à convertir les noms des répertoires et des fichiers à grands coups de "iconv -f iso-8859-15 -t utf-8"
Hum sur les fichier pdf ça m'a pas donné quelque chose de concluant. Le fichier était vide (blanc). Quel est la différence entre iconv et recode? J'utilise recode pour les fichier texte et il marche bien.
:-)
for file_name in * ; do new_name="$( echo "$file_name" | iconv -f iso-8859-15 -t utf-8 )" [ "$new_name" = "$file_name" ] || mv "$file_name" "$new_name" done
Nobody can fix the economy. Nobody can be trusted with their finger on the button. Nobody's perfect. VOTE FOR NOBODY.
Nicolas Pontoizeau <pontoize*NOSPAM*@Efrei.fr.invalid> writes:
Donc les fichiers sont effectivement écrits et sont accessibles ?
oui c'est juste le nom qui est altéré.
Il n'y a qu'à convertir les noms des répertoires et des fichiers à
grands coups de "iconv -f iso-8859-15 -t utf-8"
Hum sur les fichier pdf ça m'a pas donné quelque chose de concluant. Le
fichier était vide (blanc).
Quel est la différence entre iconv et recode? J'utilise recode pour les
fichier texte et il marche bien.
:-)
for file_name in * ; do
new_name="$( echo "$file_name" | iconv -f iso-8859-15 -t utf-8 )"
[ "$new_name" = "$file_name" ] || mv "$file_name" "$new_name"
done
Nicolas Pontoizeau <pontoize*NOSPAM*@Efrei.fr.invalid> writes:
Donc les fichiers sont effectivement écrits et sont accessibles ?
oui c'est juste le nom qui est altéré.
Il n'y a qu'à convertir les noms des répertoires et des fichiers à grands coups de "iconv -f iso-8859-15 -t utf-8"
Hum sur les fichier pdf ça m'a pas donné quelque chose de concluant. Le fichier était vide (blanc). Quel est la différence entre iconv et recode? J'utilise recode pour les fichier texte et il marche bien.
:-)
for file_name in * ; do new_name="$( echo "$file_name" | iconv -f iso-8859-15 -t utf-8 )" [ "$new_name" = "$file_name" ] || mv "$file_name" "$new_name" done
Nobody can fix the economy. Nobody can be trusted with their finger on the button. Nobody's perfect. VOTE FOR NOBODY.
Pascal Bourguignon
Nicolas George <nicolas$ writes:
Nicolas Pontoizeau wrote in message <slrnd5t3g3.nmb.pontoize*NOSPAM*@choam.unix.efrei.fr>:
J'ai archivé mon compte sur une machine dont la locale était en iso-8856-15 (latin 1) mais quand je détare le tout sur ma machine qui elle est en utf-8 les caractères accentués ne passent plus.
Petite clarification : les noms de fichiers sous Unix sont des chaînes d'octets, toutes les valeurs étant permises sauf 0x00 et 0x2F (ce dernier étant / en ASCII)¹. La relation entre ces suites d'octets et des caractères n'est faite qu'à l'affichage ou la saisie, et c'est seulement à ce moment-là qu'une éventuelle locale peut intervenir. En particulier, tar n'a aucune notion de locale dans les noms de fichiers, et la séquence archivage-désarchivage préserve fidellement ces noms, en tant que chaînes d'octets.
Pour recoder les noms de fichiers, on peut chercher du côté de programmes comme convmv.
Pour l'avenir, personnellement, je conseille de restreindre les noms de fichiers autant que possible aux caractères [a-zA-Z0-9_,.+:@-]. C'est une contrainte mineure, et ça évite bien des ennuis.
Éviter: ':'
- séparateur de répertoire sur HFS (MacOS), - séparateur de device sur Microsoft Windows, et VMS si je ne me trompe.
Sur les CD-ROM ISO9660, prévus pour pouvoir être lus dans le plus grand nombre d'environnement, les caractères pouvant être utilisés dans les noms de fichiers sont:
D-CHARS = "0123456789BCDEFGHIJKLMNOPQRSTUVWXYZ_"
Le point sert pour séparer un nom de 1 à 8 caractères d'une extension de 1 à 3 caractères.
Ça ne va pas chercher loin... Personnellement je me permet les minuscules et le tiret à la place du soulignet.
1 : certains filesystems exotiques peuvent poser des restrictions plus strictes, voire même avoir des notions d'encodages à des endroits bizarres ; ce n'est normalement pas visible en userland au delà du fait qu'un nom de fichier peut être rejeté.
In a World without Walls and Fences, who needs Windows and Gates?
Nicolas George <nicolas$george@salle-s.org> writes:
Nicolas Pontoizeau wrote in message
<slrnd5t3g3.nmb.pontoize*NOSPAM*@choam.unix.efrei.fr>:
J'ai archivé mon compte sur une machine dont la locale était en
iso-8856-15 (latin 1) mais quand je détare le tout sur ma machine qui
elle est en utf-8 les caractères accentués ne passent plus.
Petite clarification : les noms de fichiers sous Unix sont des chaînes
d'octets, toutes les valeurs étant permises sauf 0x00 et 0x2F (ce dernier
étant / en ASCII)¹. La relation entre ces suites d'octets et des caractères
n'est faite qu'à l'affichage ou la saisie, et c'est seulement à ce moment-là
qu'une éventuelle locale peut intervenir. En particulier, tar n'a aucune
notion de locale dans les noms de fichiers, et la séquence
archivage-désarchivage préserve fidellement ces noms, en tant que chaînes
d'octets.
Pour recoder les noms de fichiers, on peut chercher du côté de programmes
comme convmv.
Pour l'avenir, personnellement, je conseille de restreindre les noms de
fichiers autant que possible aux caractères [a-zA-Z0-9_,.+:@-]. C'est une
contrainte mineure, et ça évite bien des ennuis.
Éviter: ':'
- séparateur de répertoire sur HFS (MacOS),
- séparateur de device sur Microsoft Windows, et VMS si je ne me trompe.
Sur les CD-ROM ISO9660, prévus pour pouvoir être lus dans le plus grand
nombre d'environnement, les caractères pouvant être utilisés dans les
noms de fichiers sont:
D-CHARS = "0123456789BCDEFGHIJKLMNOPQRSTUVWXYZ_"
Le point sert pour séparer un nom de 1 à 8 caractères d'une extension
de 1 à 3 caractères.
Ça ne va pas chercher loin... Personnellement je me permet les
minuscules et le tiret à la place du soulignet.
1 : certains filesystems exotiques peuvent poser des restrictions plus
strictes, voire même avoir des notions d'encodages à des endroits bizarres ;
ce n'est normalement pas visible en userland au delà du fait qu'un nom de
fichier peut être rejeté.
Nicolas Pontoizeau wrote in message <slrnd5t3g3.nmb.pontoize*NOSPAM*@choam.unix.efrei.fr>:
J'ai archivé mon compte sur une machine dont la locale était en iso-8856-15 (latin 1) mais quand je détare le tout sur ma machine qui elle est en utf-8 les caractères accentués ne passent plus.
Petite clarification : les noms de fichiers sous Unix sont des chaînes d'octets, toutes les valeurs étant permises sauf 0x00 et 0x2F (ce dernier étant / en ASCII)¹. La relation entre ces suites d'octets et des caractères n'est faite qu'à l'affichage ou la saisie, et c'est seulement à ce moment-là qu'une éventuelle locale peut intervenir. En particulier, tar n'a aucune notion de locale dans les noms de fichiers, et la séquence archivage-désarchivage préserve fidellement ces noms, en tant que chaînes d'octets.
Pour recoder les noms de fichiers, on peut chercher du côté de programmes comme convmv.
Pour l'avenir, personnellement, je conseille de restreindre les noms de fichiers autant que possible aux caractères [a-zA-Z0-9_,.+:@-]. C'est une contrainte mineure, et ça évite bien des ennuis.
Éviter: ':'
- séparateur de répertoire sur HFS (MacOS), - séparateur de device sur Microsoft Windows, et VMS si je ne me trompe.
Sur les CD-ROM ISO9660, prévus pour pouvoir être lus dans le plus grand nombre d'environnement, les caractères pouvant être utilisés dans les noms de fichiers sont:
D-CHARS = "0123456789BCDEFGHIJKLMNOPQRSTUVWXYZ_"
Le point sert pour séparer un nom de 1 à 8 caractères d'une extension de 1 à 3 caractères.
Ça ne va pas chercher loin... Personnellement je me permet les minuscules et le tiret à la place du soulignet.
1 : certains filesystems exotiques peuvent poser des restrictions plus strictes, voire même avoir des notions d'encodages à des endroits bizarres ; ce n'est normalement pas visible en userland au delà du fait qu'un nom de fichier peut être rejeté.