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

Récupérer l'encodage par défaut des fichiers

2 réponses
Avatar
JKB
Bonjour à tous,

Je cherche à automatiser un changement de locale dans un makefile un
peu compliqué. Pour l'instant, j'utilise $LANG, mais cela n'est pas
vraiment portable, je suis tombé sur des distributions non exotiques
(debian sur sparc par exemple) qui ne positionnent pas $LANG à une
valeur du type pays.encodage. Je cherche simplement à trouver
l'encodage par défaut du système (UFT8, ISO-8859-1...). Existe-t-il
une méthode portable ?

Extrait de mon makefile.am :

%.conv.f90: %.f90
iconv -f $(shell file -i $< | awk '{printf("%s", $$3);}' | cut -f2 -d= )\
-t $(shell echo $$LANG | cut -f2 -d.) $< > $@

Au passage, est-il possible de simplifier :
awk '{printf("%s", $$3);}' | cut -f2 -d=

Cordialement,

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.

2 réponses

Avatar
Nicolas George
JKB wrote in message :
Je cherche à automatiser un changement de locale dans un makefile un
peu compliqué. Pour l'instant, j'utilise $LANG, mais cela n'est pas
vraiment portable, je suis tombé sur des distributions non exotiques
(debian sur sparc par exemple) qui ne positionnent pas $LANG à une
valeur du type pays.encodage. Je cherche simplement à trouver
l'encodage par défaut du système (UFT8, ISO-8859-1...). Existe-t-il
une méthode portable ?


En théorie, « locale charmap » devrait faire exactement ça. En pratique,
beaucoup de systèmes ne sont pas Single Unix v3 entre autres en ce que leur
commande locale est absente ou incompatible.

Avatar
JKB
Le 16-08-2006, à propos de
Re: Récupérer l'encodage par
défaut des fichiers,
Nicolas George écrivait dans fr.comp.os.unix :
JKB wrote in message :
Je cherche à automatiser un changement de locale dans un makefile un
peu compliqué. Pour l'instant, j'utilise $LANG, mais cela n'est pas
vraiment portable, je suis tombé sur des distributions non exotiques
(debian sur sparc par exemple) qui ne positionnent pas $LANG à une
valeur du type pays.encodage. Je cherche simplement à trouver
l'encodage par défaut du système (UFT8, ISO-8859-1...). Existe-t-il
une méthode portable ?


En théorie, « locale charmap » devrait faire exactement ça. En pratique,
beaucoup de systèmes ne sont pas Single Unix v3 entre autres en ce que leur
commande locale est absente ou incompatible.


Tiens, je n'ai pas cela dans mon man, mais ça fonctionne. Merci.

JKB