OVH Cloud OVH Cloud

déterminer le charset et le convertir

8 réponses
Avatar
aka
Bonjour,

Au risque de m'entendre dire RTFF (j'ai cherché et je suis coincé), je
pose une question triviale.

Comment déterminer le charset d'un document?
Comment le convertir?

Merci
désolé :(

8 réponses

Avatar
lhabert
aka :

Comment déterminer le charset d'un document?



Bah en théorie, c'est impossible : un même fichier peut être l'encodage de
textes différents dans différents charsets. En pratique, bah tu peux'essayer
divers décodages jusqu'à tomber sur un truc intelligible.

Comment le convertir?



Regarde iconv.
Avatar
Pascal Bourguignon
aka writes:
Au risque de m'entendre dire RTFF (j'ai cherché et je suis coincé), je
pose une question triviale.

Comment déterminer le charset d'un document?



Il faut le deviner.

Une possibilité serait de faire:

for encoding in $(iconv -l|sed -e 's-//--') ; do
echo $encoding ; iconv -f $encoding -t utf-8 < $document ; done

jusqu'à trouver en encodage qui donne quelque chose de lisible...

Comment le convertir?



En utilisant iconv, ou en le chargeant avec le bon encodage:

C-x RET c encodage RET C-x C-f document RET

--
__Pascal Bourguignon__ http://www.informatimago.com/

The world will now reboot. don't bother saving your artefacts.
Avatar
aka
Merci.
Je crois que je me suis mal exprimé.

Je voulais dire
Comment déterminer le charset d'un *buffer* ?
Comment le convertir?

J'ai essayé (bricolé) avec Mule sans résultat : Mon buffer est toujours
en iso-8859-1.

++
Avatar
Prakash Countcham
aka writes:

Comment le convertir?



J'utilise C-x RET f (suivi éventuellement d'une tabulation)

Je ne sais pas si ça peut t'aider.

Pour déterminer le codage d'un buffer, je regarde sur le deuxième symbo le de
la barre située au-dessous du buffer.

Amicalement,

--
Prakash
Avatar
aka
Comment le convertir?


J'utilise C-x RET f (suivi éventuellement d'une tabulation)
Je ne sais pas si ça peut t'aider.



En fait, j'avais vu cela dans la doc mais cela ne produit aucun résultat
(chez moi)

Pour déterminer le codage d'un buffer, je regarde sur le deuxième symbole de
la barre située au-dessous du buffer.



Veux tu parler de la "ligne de mode" ? Si oui je n'identifie pas de
second symbole.

++
Avatar
Prakash Countcham
aka writes:
En fait, j'avais vu cela dans la doc mais cela ne produit aucun résultat
(chez moi)



Là, je ne peux plus t'aider parce que ça marche chez moi.

Par exemple, si j'édite un fichier iso-latin-1 puis que je fais
C-x <RET> f utf-8 <RET>
lorsque je sauve le fichier, j'obtiens bien un fichier utf-8

À tout hasard, j'ai ceci dans mon .emacs, mais je ne pense pas que cela
ait une influence :

(set-language-environment "Latin-9")
(setq selection-coding-system 'compound-text-with-extensions)
(require 'un-define)
(prefer-coding-system 'iso-8859-15-unix)

S'il s'agit d'un bug qui apparaît chez toi, je préfère laisser l'affa ire à un
gourou local.

Veux tu parler de la "ligne de mode" ? Si oui je n'identifie pas de second
symbole.



Oui c'est cela. Le manuel donne plus de détails sur la ligne de mode, en
particulier sur les significations des différents symboles (- pour le cod age
par défaut, 1 pour ISO Latin-1, u pour utf-8, etc.).

Sinon, que donne C-h C <RET> dans le buffer dont tu veux connaître le cod age ?

--
Prakash
Avatar
Sébastien Kirche
Le 11 July 2005 à 16:07, aka a dit :

> > Comment le convertir?
> J'utilise C-x RET f (suivi éventuellement d'une tabulation)
> Je ne sais pas si ça peut t'aider.

En fait, j'avais vu cela dans la doc mais cela ne produit aucun
résultat (chez moi)



Si ton buffer représente un fichier, il faut l'enregistrer pour que le
coding-system soit pris en compte avec C-x RET f (et qu'il soit
modifié).

Pour un enregistrement immédiat, on peut toujours faire
C-x RET c <le-coding-system-> C-x C-w

Autrement il peut être intéressant de regarder C-x RET C-h (notamment
C-x RET l).

> Pour déterminer le codage d'un buffer, je regarde sur le deuxième
> symbole de la barre située au-dessous du buffer.

Veux tu parler de la "ligne de mode" ? Si oui je n'identifie pas de
second symbole.



Si tu es en mode graphique et sur un Emacs pas trop vieux, tu peux
survoler le second caractère de la modeline : une bulle d'info devrait
t'en dire plus.

Sinon, M-x describe-coding-system devrait fournir des infos
intéressantes.

HTH.
--
Sébastien Kirche
Avatar
aka
À tout hasard, j'ai ceci dans mon .emacs, mais je ne pense pas que cela
ait une influence :

(set-language-environment "Latin-9")
(setq selection-coding-system 'compound-text-with-extensions)
(require 'un-define)
(prefer-coding-system 'iso-8859-15-unix)



effectivement ca marche comme cela.
j'avais un
(standard-display-european 1)

que j'ai supprimé et replacé par un:

(set-language-environment "Latin-9")

merci