Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Caracteres speciaux dans noms de fichiers windows

19 réponses
Avatar
Pham
Bonjour,

J'ai copié quantité de fichiers d'une partition windows FAT32 à une
partition ext3 Linux et j'obtiens des caractères bizarres dans les noms
de fichiers à la place des accents.

3 cas possibles :
1) Le caractère n'est pas du tout reconnu et sous Konqueror j'ai un "?"
à la place du caractère spécial, ce qui fait planter la copie de fichier
avec cp pour cause "d'argument invalide"
2) Le caractère n'est pas reconnu par Konqueror et j'ai un petit carré à
la place, cependant je peux sans problème copier le fichier
3) Le caractère est reconnu par Konqueror mais pas dans un terminal (où
j'obtiens des "?" à la place des caractères spéciaux)

J'ai changé les fichiers du type 1) "à la main" car il n'y en avait pas
beaucoup par contre j'aimerais faire un script pour changer les fichiers
de type 2). Pourriez-vous m'aider ?

D'autre part est-il normal d'avoir des fichiers de type 3) ?

Merci !

10 réponses

1 2
Avatar
Wolfgang Theurer
Pham writes:

Bonjour,


Bonjour


2) Le caractère n'est pas reconnu par Konqueror et j'ai un petit carré à
la place, cependant je peux sans problème copier le fichier
3) Le caractère est reconnu par Konqueror mais pas dans un terminal (où
j'obtiens des "?" à la place des caractères spéciaux)




Tu pourrait faire un ls sur un de ces fichiers et nous le
poster stp. On y verrait plus clair

Sinon tu peux regarder du coté de tr (man tr).

D'autre part est-il normal d'avoir des fichiers de type 3) ?


Voui, ça depend de la police utilisées. Si elle ne connait pas
les caractères accentués par exemple...

Merci !


Avec plaisir (tm)

--
When you have to shoot, shoot. Don't talk
Tuco (The Ugly)

Avatar
Bernard Déléchamp
Bonjour,


Bonjour,

[problèmes de page de code]

J'ai changé les fichiers du type 1) "à la main" car il n'y en avait pas
beaucoup par contre j'aimerais faire un script pour changer les fichiers
de type 2). Pourriez-vous m'aider ?


Pas testé, mais avec des chances que ça marche, aux erreurs de syntaxe
prêt :

IFS=$'tn'
for ANCIEN in * ; do
NOUVEAU=$(echo "${ANCIEN}" | recode cp437..iso-8859-1)
[ "$NOUVEAU" != "$ANCIEN" ] && mv "$ANCIEN" "$NOUVEAU"
done

A adapter s'il y a des répertoires à descendre et/ou à renommer.

--
On n'oublie rien de rien,
On s'habitue, c'est tout.
Jacques Brel

Avatar
Hervé Riboulot
Le Fri, 20 Feb 2004 08:24:38 +0100, Wolfgang Theurer a écrit :

Pham writes:

Bonjour,


Bonjour

2) Le caractère n'est pas reconnu par Konqueror et j'ai un petit carré à
la place, cependant je peux sans problème copier le fichier
3) Le caractère est reconnu par Konqueror mais pas dans un terminal (où
j'obtiens des "?" à la place des caractères spéciaux)


Tu pourrait faire un ls sur un de ces fichiers et nous le
poster stp. On y verrait plus clair

Sinon tu peux regarder du coté de tr (man tr).

D'autre part est-il normal d'avoir des fichiers de type 3) ?
Voui, ça depend de la police utilisées. Si elle ne connait pas

les caractères accentués par exemple...

Merci !


Avec plaisir (tm)


Au montage de la partition Windows, il est possible de passer certains
paramètres pour gérer les questions de codage. Voici, par exemple, les
paramètres de fstab pour le montage d'une partition Windows (distribution
Mandrake):

/dev/hda1 /mnt/windows vfat umask=0,iocharset=iso8859-15,codepage…0 0 0

Tu peux essayer le montage direct (mount) en passant les paramètres de
codage ...


Avatar
no_spam
On Fri, 20 Feb 2004 02:11:32 +0100, Pham wrote:

Bonjour,

J'ai copié quantité de fichiers d'une partition windows FAT32 à une
partition ext3 Linux et j'obtiens des caractères bizarres dans les noms
de fichiers à la place des accents.

3 cas possibles :
1) Le caractère n'est pas du tout reconnu et sous Konqueror j'ai un "?"
à la place du caractère spécial, ce qui fait planter la copie de fichier
avec cp pour cause "d'argument invalide"
2) Le caractère n'est pas reconnu par Konqueror et j'ai un petit carré à
la place, cependant je peux sans problème copier le fichier
3) Le caractère est reconnu par Konqueror mais pas dans un terminal (où
j'obtiens des "?" à la place des caractères spéciaux)

J'ai changé les fichiers du type 1) "à la main" car il n'y en avait pas
beaucoup par contre j'aimerais faire un script pour changer les fichiers
de type 2). Pourriez-vous m'aider ?


Le plus simple est de faire en sorte que le kernel utilise la page
de code UTF8 systématiquement.
On peut le faire en recompilant le kernel:
CONFIG_NLS_DEFAULT="utf8"
C'est sans doute possible au run-time, mais je ne sais pas comment.

Avatar
Guilhem
On Fri, 20 Feb 2004 02:11:32 +0100, Pham wrote:


Bonjour,

J'ai copié quantité de fichiers d'une partition windows FAT32 à une
partition ext3 Linux et j'obtiens des caractères bizarres dans les noms
de fichiers à la place des accents.

3 cas possibles :
1) Le caractère n'est pas du tout reconnu et sous Konqueror j'ai un "?"
à la place du caractère spécial, ce qui fait planter la copie de fichier
avec cp pour cause "d'argument invalide"
Moi j'ai tout simplement modifié le fichier /etc/sysconfig/i18n. Met ça


dedans:

LANG="fr_FR.ISO-8859-15"
SUPPORTED="fr_FR.ISO-8859-15:fr_FR:fr"
SYSFONT="latarcyrheb-sun16"

3) Le caractère est reconnu par Konqueror mais pas dans un terminal (où
j'obtiens des "?" à la place des caractères spéciaux)

J'ai changé les fichiers du type 1) "à la main" car il n'y en avait pas
beaucoup par contre j'aimerais faire un script pour changer les fichiers
de type 2). Pourriez-vous m'aider ?
A titre d'exemple:



while ! [ "${maVariable:$i:1}" == "" ]
do
if ! [ "${maVariable:$i:1}" == "lettreAChanger" ]
then
mv ...
fi
let "i++"
done

Voilà. Cela devrait t'aider.
Guilhem.


Avatar
Pham
On Fri, 20 Feb 2004 09:17:50 +0100, Bernard Déléchamp

Bonjour,


Bonjour,

[problèmes de page de code]

J'ai changé les fichiers du type 1) "à la main" car il n'y en avait
pas beaucoup par contre j'aimerais faire un script pour changer les
fichiers de type 2). Pourriez-vous m'aider ?


Pas testé, mais avec des chances que ça marche, aux erreurs de syntaxe

prêt :

IFS=$'tn'
for ANCIEN in * ; do
NOUVEAU=$(echo "${ANCIEN}" | recode cp437..iso-8859-1)
[ "$NOUVEAU" != "$ANCIEN" ] && mv "$ANCIEN" "$NOUVEAU"
done

A adapter s'il y a des répertoires à descendre et/ou à renommer.



Malheureusement cela ne marche pas, j'obtiens un message :
"Script started, file is typescript"
Puis ensuite un fichier typescript est crée et c'est tout... les
fichiers ne sont pas modifiés...


Avatar
Pham
On 20 Feb 2004 08:24:38 +0100, Wolfgang Theurer

2) Le caractère n'est pas reconnu par Konqueror et j'ai un petit
carré à la place, cependant je peux sans problème copier le fichier
3) Le caractère est reconnu par Konqueror mais pas dans un terminal
(où j'obtiens des "?" à la place des caractères spéciaux)




Tu pourrait faire un ls sur un de ces fichiers et nous le
poster stp. On y verrait plus clair

Sinon tu peux regarder du coté de tr (man tr).


Eh bien par exemple Hélèné apparaîtra comme H?l?ne.


Avatar
Pham
On Fri, 20 Feb 2004 10:33:42 +0100, Hervé Riboulot

2) Le caractère n'est pas reconnu par Konqueror et j'ai un petit
carré à> la place, cependant je peux sans problème copier le fichier

3) Le caractère est reconnu par Konqueror mais pas dans un terminal
(où> j'obtiens des "?" à la place des caractères spéciaux)


Tu pourrait faire un ls sur un de ces fichiers et nous le
poster stp. On y verrait plus clair

Sinon tu peux regarder du coté de tr (man tr).

D'autre part est-il normal d'avoir des fichiers de type 3) ?
Voui, ça depend de la police utilisées. Si elle ne connait pas

les caractères accentués par exemple...

Merci !


Avec plaisir (tm)


Au montage de la partition Windows, il est possible de passer certains
paramètres pour gérer les questions de codage. Voici, par exemple, les
paramètres de fstab pour le montage d'une partition Windows
(distribution Mandrake):

/dev/hda1 /mnt/windows vfat umask=0,iocharset=iso8859-15,codepage…0
0 0

Tu peux essayer le montage direct (mount) en passant les paramètres de
codage ...


Oui merci pour l'astuce. Cependant la partition Windows est depuis
effacée et je me retrouve avec ces fichiers sous ma partition ext3.
Comment faire à partir de là ?



Avatar
Pham
On Fri, 20 Feb 2004 09:17:50 +0100, Bernard Déléchamp

[problèmes de page de code]

J'ai changé les fichiers du type 1) "à la main" car il n'y en avait
pas beaucoup par contre j'aimerais faire un script pour changer les
fichiers de type 2). Pourriez-vous m'aider ?


Pas testé, mais avec des chances que ça marche, aux erreurs de syntaxe

prêt :

IFS=$'tn'
for ANCIEN in * ; do
NOUVEAU=$(echo "${ANCIEN}" | recode cp437..iso-8859-1)
[ "$NOUVEAU" != "$ANCIEN" ] && mv "$ANCIEN" "$NOUVEAU"
done

A adapter s'il y a des répertoires à descendre et/ou à renommer.



Bon en fait l'erreur n'est pas dans le script, si je fais :
echo "éèçàâêîô"| recode cp437..iso-8859-1

J'obtiens systématiquement :
recode: Ambiguous output in step `CR-LF..data' et rien ne se passe...

C'est le 'cp437' qu'il n'aîme pas apparemment car :
echo "éèçàâêîô"| recode iso-8859-15..iso-8859-1
Marche correctement !


Avatar
Pham
On Fri, 20 Feb 2004 12:30:41 +0100, no_spam

J'ai copié quantité de fichiers d'une partition windows FAT32 à une
partition ext3 Linux et j'obtiens des caractères bizarres dans les
noms de fichiers à la place des accents.

3 cas possibles :
1) Le caractère n'est pas du tout reconnu et sous Konqueror j'ai un
"?" à la place du caractère spécial, ce qui fait planter la copie de
fichier avec cp pour cause "d'argument invalide"
2) Le caractère n'est pas reconnu par Konqueror et j'ai un petit
carré à la place, cependant je peux sans problème copier le fichier
3) Le caractère est reconnu par Konqueror mais pas dans un terminal
(où j'obtiens des "?" à la place des caractères spéciaux)

J'ai changé les fichiers du type 1) "à la main" car il n'y en avait
pas beaucoup par contre j'aimerais faire un script pour changer les
fichiers de type 2). Pourriez-vous m'aider ?


Le plus simple est de faire en sorte que le kernel utilise la page
de code UTF8 systématiquement.
On peut le faire en recompilant le kernel:
CONFIG_NLS_DEFAULT="utf8"
C'est sans doute possible au run-time, mais je ne sais pas comment.


Oui mais ce n'est pas simplement l'affichage que je voudrais corriger
mais l'encodage même des fichiers !
Ca me gêne un peu de trimballer ces fichiers avec des noms bizarres...


1 2