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

Problème d'accents avec certaines applications GTK

7 réponses
Avatar
François Valenduc
Bonjour à tous,

Je constate un problème bizarre avec certains programmes utilisant GTK
(par exemple, Gtkpod, Gimp, Avidemux). En fait, les noms de fichiers ou
de dossiers contenant des caractères du genre "é", "ç" et autres propres
au français étaient mal ou pas du tout affiché. En lançant avidemux
depuis un terminal, j'ai remarqué des messages du genre "Le nom du
dossier Mes Vid\351os n'a pu être converti en charactère UTF-8, essayer
d'activer la variable d'environnement G_FILE_ENCODING". Utilisant ZSH
comme shell, j'ai rajouté une ligne
export G_FILE_ENCODING="iso8859-15". Depuis lors, si je lance gtkpod ou
avidemux depuis un terminal, tous ces charactères sont affichés
correctement. Mais si je lance ces mêmes programmes depuis le menu de
KDE, les noms de fichiers ou de dossiers contenant de tel charactères ne
sont pas affichés. J'ai essayé dans Gnome ou XFCE mais le problème est
le même.

Quelqu'un pourrait t'il m'expliquer cette bizarrerie ? Je précise encore
que j'utilise Debian Sid.
Merci pour vos conseils.


--
François Valenduc

Mon adresse e-mail est bien sur truquée
Enlever le deuxième c à la fin et mettre un point après francois pour me
répondre

7 réponses

Avatar
Nicolas George
François Valenduc wrote in message
<42220834$0$18768$:
Quelqu'un pourrait t'il m'expliquer cette bizarrerie ?


C'est très simple : la variable d'environnement n'est positionnée que quand
le fichier où tu l'as mise est lu, donc probablement seulement dans les
shells interactifs (tu n'as pas précisé, je soupçonne que tu as mis ça dans
.zshrc).

La bonne solution est de coder tes noms de fichiers en UTF-8. Tu peux
utiliser le package convmv pour faire la conversion.

Une solution plus prudente est de ne jamais utiliser d'accents et autres
caractères bizarres dans les noms de fichiers.

Avatar
François Valenduc
François Valenduc wrote in message
<42220834$0$18768$:

Quelqu'un pourrait t'il m'expliquer cette bizarrerie ?



C'est très simple : la variable d'environnement n'est positionnée que quand
le fichier où tu l'as mise est lu, donc probablement seulement dans les
shells interactifs (tu n'as pas précisé, je soupçonne que tu as mis ça dans
.zshrc).

La bonne solution est de coder tes noms de fichiers en UTF-8. Tu peux
utiliser le package convmv pour faire la conversion.

Une solution plus prudente est de ne jamais utiliser d'accents et autres
caractères bizarres dans les noms de fichiers.


J'ai mis la ligne export G_FILENAME_ENCODING dans le fichier
/etc/zshenv. Peut-être que si je la mets dans /etc/zlogin, çà ira mieux
? Pourtant quant j'exécute set, celà m'indique bien que cette variable a
la valeur iso8859-15. Je trouve quand même bizarre qu'il faille éviter
les caractères propre au français pour ne pas avoir de problèmes...
--
François Valenduc

Mon adresse e-mail est bien sur truquée
Enlever le deuxième c à la fin et mettre un point après francois pour me
répondre


Avatar
Nicolas George
François Valenduc wrote in message
<422243d1$0$18765$:
J'ai mis la ligne export G_FILENAME_ENCODING dans le fichier
/etc/zshenv. Peut-être que si je la mets dans /etc/zlogin, çà ira mieux ?


Non.

Pourtant quant j'exécute set, celà m'indique bien que cette variable a
la valeur iso8859-15.


Regarde ce que donne la commande « ps axf » : les programme qui n'ont pas la
variable ne sont jamais passé par un zsh, c'est tout.

Je trouve quand même bizarre qu'il faille éviter
les caractères propre au français pour ne pas avoir de problèmes...


Si tu tiens vraiment à avoir des accents, mets-les en UTF-8 (bis).

Avatar
François Valenduc
François Valenduc wrote in message
<422243d1$0$18765$:

J'ai mis la ligne export G_FILENAME_ENCODING dans le fichier
/etc/zshenv. Peut-être que si je la mets dans /etc/zlogin, çà ira mieux ?



Non.


Pourtant quant j'exécute set, celà m'indique bien que cette variable a
la valeur iso8859-15.



Regarde ce que donne la commande « ps axf » : les programme qui n'ont pas la
variable ne sont jamais passé par un zsh, c'est tout.


Je trouve quand même bizarre qu'il faille éviter
les caractères propre au français pour ne pas avoir de problèmes...



Si tu tiens vraiment à avoir des accents, mets-les en UTF-8 (bis).


Effectivement, j'ai testé convmv, si je convertis l'encodage
d'iso8859-15 en utf8 et çà marche mais alors, à part dans les
applications GTK, les noms de fichiers sont mal affichés. En plus, si je
fais la même opération dans mes partitions FAT32, le résultat dans
Windows est catastrophique. Donc, j'ai crée des scripts du genre
#!/bin/zsh
/usr/bin/avidemux
Et si je mets un raccourci vers ce script dans le menu KDE, le problème
est réglé.
Merci encore pour votre aide,

François Valenduc
--
François Valenduc

Mon adresse e-mail est bien sur truquée
Enlever le deuxième c à la fin et mettre un point après francois pour me
répondre


Avatar
Nicolas George
François Valenduc wrote in message
<4222ead7$0$20684$:
à part dans les
applications GTK, les noms de fichiers sont mal affichés.


Il faut évidemment adapter ta locale et l'encodage de tes terminaux en
conséquence.

En plus, si je
fais la même opération dans mes partitions FAT32, le résultat dans
Windows est catastrophique.


Il faut changer la codepage de montage des filesystems.

Donc, j'ai crée des scripts du genre
#!/bin/zsh
/usr/bin/avidemux


Beurk. Au moins, mets un exec !

Avatar
François Valenduc
François Valenduc wrote in message
<4222ead7$0$20684$:

à part dans les
applications GTK, les noms de fichiers sont mal affichés.



Il faut évidemment adapter ta locale et l'encodage de tes terminaux en
conséquence.


En plus, si je
fais la même opération dans mes partitions FAT32, le résultat dans
Windows est catastrophique.



Il faut changer la codepage de montage des filesystems.


Donc, j'ai crée des scripts du genre
#!/bin/zsh
/usr/bin/avidemux



Beurk. Au moins, mets un exec !
Je sais, c'est fort bricologe. Donc, si j'ai bien compris je devrais mettre

exec /usr/bin/avidemux
Mais quelle est la différence ? Le but est simplement de faire passer
l'application par zsh pour être sur que la variable G_FILE_ENCODING soit
lue. Mais si elle ne passe pas nécessairement par défaut par zsh, celà
veut-il dire que çà passe par /bin/sh à la place ? Dans ce cas,
peut-être faut il aussi définir la variable d'environnement dans
/bin/sh. Y a t'il un truc pour celà ?
Sinon, j'ai effectivement testé le montage des partitions fat32 avec
iocharset=utf8 et codepage…0 et si je sélectionne comme
locale par défaut, çà fonctionne en console et dans les applications GTK
pour lesquelles il y avait un problème d'accents. Mais, pour toutes les
applications KDE, les accents ne s'affichent pas bien.
Peut-être faudrait-il que je fouille la configuration de KDE pour
demander d'utiliser l'encodage UTF8.

--
François Valenduc

Mon adresse e-mail est bien sur truquée
Enlever le deuxième c à la fin et mettre un point après francois pour me
répondre


Avatar
Nicolas George
François Valenduc wrote in message
:
Mais quelle est la différence ?


Sans exec, le script reste à s'exécuter, à attendre que l'application lancée
se termine pour se terminer à son tour. Avec exec, l'application remplace le
script.

Mais si elle ne passe pas nécessairement par défaut par zsh, celà
veut-il dire que çà passe par /bin/sh à la place ?


Pas forcément : il est possible d'exécuter un programme directement. Le
passage par un shell a l'avantage de centraliser et d'uniformiser la gestion
des notations spéciales (guillemets, $, redirections, etc.). De toutes
façons, /bin/sh n'a pas de fichier standard appelé systématiquement.

Sinon, j'ai effectivement testé le montage des partitions fat32 avec
iocharset=utf8 et codepage…0 et si je sélectionne comme
locale par défaut, çà fonctionne en console et dans les applications GTK
pour lesquelles il y avait un problème d'accents.


Très bien. C'est vraiment le bon choix.

Mais, pour toutes les
applications KDE, les accents ne s'affichent pas bien.
Peut-être faudrait-il que je fouille la configuration de KDE pour
demander d'utiliser l'encodage UTF8.


Je ne connais pas KDE, mais ça m'étonnerait vraiment qu'il n'y ait rien.
Attends de voir si quelqu'un d'autre peut répondre.