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

encodage des noms de fichiers avec OOo

7 réponses
Avatar
Vincent
Bonjour,

j'ai ici 2 machines, la mienne et celle de ma copine, toutes deux sous
Mandriva 2006, avec OpenOffice.org 2.0 La mienne : Mandriva 2006 normale
(octobre) celle de ma copine version club december

Sur la mienne si j'enregistre (avec OOo) un fichier "accentué.odt" dans
un répertoite nommé "accentué", le résultat est conforme à ce qui a
été saisi. Logiquement je peux aussi ouvrir le fichier.

Sur celle de ma copine le même test produit un fichier nommé
"accentu%E9.odt" dans le répertoire "accentu%E9". De plus il est
impossible d'ouvrir un fichier dont le chemin (nom ou répertoire)
contient un caractère accentué. Par contre KWrite enregistre
correctement accentué.txt.

Pour savoir si le problème était lié au compte ou à la machine j'ai
sauvegardé tout le home directory de ma copine, créé un nouvel
utilisateur sur ma machine et copié tous les fichiers (avec naturellement
les fichiers de conf cachés). Renouvelant alors le test j'obtient un
résultat correct (un fichier "accentué.odt" dans un répertoite nommé
"accentué").

Si dans une console sous root je tape la commande # locale j'obtient la
même chose pour les deux machines : LANG=fr_FR
LC_CTYPE=fr_FR
LC_NUMERIC=fr_FR
LC_TIME=fr_FR
LC_COLLATE=fr_FR
LC_MONETARY=fr_FR
LC_MESSAGES=fr_FR
LC_PAPER=fr_FR
LC_NAME=fr_FR
LC_ADDRESS=fr_FR
LC_TELEPHONE=fr_FR
LC_MEASUREMENT=fr_FR
LC_IDENTIFICATION=fr_FR
LC_ALL=

Si je passe la machine de ma copine en unicode (avec localedrake) cela
résoud le problème des nouveaux fichiers mais elle ne peut plus accéder
aux anciens (dont le chemin comporterait des caractères accentués). De
plus si j'en croit quelques remarques dans divers forums certaines
applications (lesquelles ?) n'acceptent pas encore l'UTF8.

Par ailleurs je n'ai rien trouvé dans les préférences de OOo permetant
de choisir l'encodage

Ayant le même problème dans une assoc dans laquelle j'ai upgradé 12
machines en Mandriva club december je n'envisage absolument pas de
reinstaller la 2006 officielle.

D'avance je baise les pieds de toute personne me permettant de résoudre
ce problème qui me tracasse depuis bientôt une semaine.

--
Vincent Gay - mailto:vgay@salug-fr.org.antispam ---
Ouvrir une école, cest fermer une prison (Victor Hugo)

7 réponses

Avatar
Vincent Ramos

Si dans une console sous root je tape la commande # locale j'obtient la
même chose pour les deux machines : LANG=fr_FR


Il n'y a pas d'indication du codage des caractères. Par exemple :
« fr_FR.utf8 ». Peut-être est-ce là que cela coince.

Pour savoir quelle locale assortie de quel codage vous avez sur votre
systèle, tapez « locale -a | grep fr ». Voici ce que j'obtiens :
fr_BE

fr_BE.utf8
fr_CA
fr_CA.utf8
fr_CH
fr_CH.utf8
fr_FR

fr_FR.utf8
fr_LU

fr_LU.utf8

Choisissez une locale avec « utf8 ». Pour tester avant de modifier en
profondeur le tout, tapez dans une console sous X : « export
LC_ALL="fr_FR.utf8" » puis « oowriter » (ou « oowriter2 », selon votre
version). Une fois la logiciel lancé, vérifiez.

Si cela marche, voyez comment modifier votre locale plus en profondeur.

Avatar
Jacques VALLOIS
Le Lundi 30 Janvier 2006 18:16, Vincent Ramos déclara dans
fr.comp.os.linux.configuration :

Choisissez une locale avec « utf8 ». Pour tester avant de modifier en
profondeur le tout, tapez dans une console sous X : « export
LC_ALL="fr_FR.utf8" » puis « oowriter » (ou « oowriter2 », selon votre
version). Une fois la logiciel lancé, vérifiez.


Bonsoir,

J'ai justement le même problème avec la même version. Je m'étais résigné
à ne plus mettre de lettre accentué dans les nom de fichier OOo ! Après
avoir suivi votre méthode, j'obtiens comme nom de fichier :
accentué.odt

Une autre piste ?

Amicalement,
--
Jacques VALLOIS
"Il est bien piètre le disciple qui jamais ne dépasse son maître."
(Léonard de Vinci)

Avatar
Vincent Ramos

J'ai justement le même problème avec la même version. Je m'étais résigné
à ne plus mettre de lettre accentué dans les nom de fichier OOo ! Après
avoir suivi votre méthode, j'obtiens comme nom de fichier :
accentué.odt


Il me faudrait savoir :
* si « accentué.odt » est le nom d'un fichier que vous aviez déjà
enregistré avant ou celui que vous obtenez maintenant pour un nouveau
fichier créé avec une instance d'OOo lancée avec la locale en UTF-8
(sachant qu'<é> est la lecture sur deux octets d'un <é> en UTF-8, lecture
que l'on obtient par exemple en décodant un <é> UTF-8 comme si c'était de
l'ISO 8859-1) ;
* si ce nom est affiché ainsi par un explorateur de fichier tiers (auquel
cas, c'est qu'il n'a pas été lancé avec la locale voulue et qu'il croit
lire de l'ISO 8859-1, par exemple) ou bien si c'est le nom que vous lisez
dans l'explorateur de fichiers propre à OOo (auquel cas ce résultat est
déroutant).

Bref : ce n'est sûrement qu'une question de décodage. Mais un tel nom de
fichier est un bon signe : il indique qu'il a bien été codé en UTF-8 par
quelque chose.

À mon avis, *si* votre cas de figure est le suivant :
* « accentué.odt » est affiché « accentué.odt » dans OOo ;
* il reste « accentué.odt » dans un explorateur de fichier tiers ;
c'est que cet explorateur n'a pas été lancé dans la bonne locale.

Faites l'expérience suivante (en lançant les applications depuis une console
sous X et non en cliquant sur une icône) :

mkdir /tmp/test
export LC_ALL="fr_FR.utf8"
oowriter
# Créez et enregistrez un fichier avec un caractère diacrité dans /tmp/test.
# Fermez OOo.
ls /tmp/test
#La sortie devrait vous afficher le titre correctement au milieu de t
konqueror /tmp/test
#Vérifiez avec un explorateur de fichier ; je prends konqueror comme
#exemple, cela pourrait être autre chose.

Qu'obtenez-vous ?

Avatar
Vincent
Le Tue, 31 Jan 2006 00:16:15 +0100, Vincent Ramos a écrit :


Il me faudrait savoir :
* si « accentué.odt » est le nom d'un fichier que vous
aviez déjà
enregistré avant ou celui que vous obtenez maintenant pour un nouveau
fichier créé avec une instance d'OOo lancée avec la locale en UTF-8
(sachant qu'<é> est la lecture sur deux octets d'un <é> en UTF-8,
lecture que l'on obtient par exemple en décodant un <é> UTF-8 comme si
c'était de l'ISO 8859-1) ;
* si ce nom est affiché ainsi par un explorateur de fichier tiers
(auquel
cas, c'est qu'il n'a pas été lancé avec la locale voulue et qu'il croit
lire de l'ISO 8859-1, par exemple) ou bien si c'est le nom que vous lisez
dans l'explorateur de fichiers propre à OOo (auquel cas ce résultat est
déroutant).



Bon je récapitule :

1) si la machine est en ISO 8859-15
-----------------------------------
Les fichiers créés (donc inexistant auparavent) par OOo, visiblements en
UTF-8, apparaissent sous konqueror sous la forme (par ex)
"accentu%E9.odt". Par ailleur OOo ne sait pas ouvrir "accentué.odt". Il
ne peut donc pas de ce fait l'enregistrer sous ce nom.

2) si la machine est en UTF-8
-----------------------------
Les fichiers _nouvellement_ créés apparaissent correctement
("accentué.odt) dans le navigateur, par contre dans les anciens (donc ISO
8859-15) apparaissent tronqués de leurs caractères accentués. De
mémoire (je vérifierai ceci plus tard, il est 4h du mat et je pars au
boulot) il ne sont pas non plus accessible part OOo

3) je veux rester en ISO 8859-15
--------------------------------
Si chez moi je peux envisager de tout passer en UTF-8 et passer les
anciens fichiers par une moulinette (et ce malgrès le risque de voir
certaines applics ne plus accéder aux fichiers), ceci est hors de
question dans l'assoc que j'ai passé sous Linux et qui doit travailler
dans un environnement hétérogène et échanger des documents avec
l'extèrieur (donc probablement avec Windows)

Avatar
Vincent Ramos

Si chez moi je peux envisager de tout passer en UTF-8 et passer les
anciens fichiers par une moulinette (et ce malgrès le risque de voir
certaines applics ne plus accéder aux fichiers), ceci est hors de
question dans l'assoc que j'ai passé sous Linux et qui doit travailler
dans un environnement hétérogène et échanger des documents avec
l'extèrieur (donc probablement avec Windows)


Dans ce cas, une solution s'impose : pas d'accent dans les noms de fichiers,
pas d'espaces, pas de distinction de casse.

Avatar
Vincent
Le Tue, 31 Jan 2006 06:35:52 +0100, Vincent Ramos a écrit :

Dans ce cas, une solution s'impose : pas d'accent dans les noms de
fichiers, pas d'espaces, pas de distinction de casse.


C'est ça: va expliquer ça à des utilisateurs qui ont 10 ans d'habitude
windows et à qui tu as bassiné pendant des semaines que Linux c'est
mieux, que ça ne changera pas leurs habitudes, qu'ils pourront
communiquer sans pb avec les autres etc...

Avatar
Jacques VALLOIS
Le Mardi 31 Janvier 2006 00:16, Vincent Ramos déclara dans
fr.comp.os.linux.configuration :

mkdir /tmp/test
export LC_ALL="fr_FR.utf8"
oowriter
# Créez et enregistrez un fichier avec un caractère diacrité dans
# /tmp/test. Fermez OOo.
ls /tmp/test
#La sortie devrait vous afficher le titre correctement au milieu de t
konqueror /tmp/test
#Vérifiez avec un explorateur de fichier ; je prends konqueror comme
#exemple, cela pourrait être autre chose.

Qu'obtenez-vous ?


Alors, le fichier nouvellement créé apparaît pour ls, konqueror ou pour
l'explorateur de OpenOffice sous la forme accentué.odt ! Pour les
anciens fichiers, les lettres accentuées sont simplement remplacées par
des "?" via ls, apparaissent normalement via konqueror et l'explorateur
d'OOo mais ce dernier me les marque d'un petit cadenas comme si je n'y
avais plus accès et refuse d'ailleurs de les ouvrir !

Petite précision, après vérification sur mon système, j'ai tapé comme
commande export LC_ALL="fr_FR.UTF-8" puisque "locale -a | grep fr"
m'avait donné :

fr
français
fr_BE
fr_BE.ISO-8859-1
fr_BE.ISO-8859-15
fr_BE.UTF-8
fr_CA
fr_CA.ISO-8859-1
fr_CA.ISO-8859-15
fr_CA.UTF-8
fr_CH
fr_CH.ISO-8859-1
fr_CH.ISO-8859-15
fr_CH.UTF-8
french
fr_FR
fr_FR.ISO-8859-1
fr_FR.ISO-8859-15
fr_FR.UTF-8
fr_LU
fr_LU.ISO-8859-1
fr_LU.ISO-8859-15
fr_LU.UTF-8

Cordialement,
--
Jacques VALLOIS
"Il est bien piètre le disciple qui jamais ne dépasse son maître."
(Léonard de Vinci)