Je me casse les dents sur des problèmes de jeux de caractères.
Je voudrais encoder mes fichiers en latin-1, afin d'éviter les messages
comme quoi les caractères de mon buffer ne peuvent pas être encodés. Mon
.emacs est orthodoxe je crois :
Et pourtant les nouveaux fichiers que je crée sont en "mule-utf-8", quand ce
n'est pas "emacs-mule-dos".
Avec C-h C je m'aperçois que mon jeux de caractères par défaut pour les
nouveau fichier n'est toujours pas le 8859-1, malgré
"default-buffer-file-coding-system" de mon emacs, mais "mule-utf-8" (une
horreur, probablement) :
------- C-h C sur un nouveau fichier :-----------------------------
Coding system for saving this buffer:
u -- mule-utf-8 (alias: utf-8)
Default coding system (for new files):
u -- mule-utf-8 (alias: utf-8)
Coding system for keyboard input:
nil
Coding system for terminal output:
1 -- iso-latin-1 (alias: iso-8859-1 latin-1)
[..]
------------------------
Enfin si je fais "C-x RET f RET latin-1" pour forcer mon buffer à s'encoder
en latin-1, le minibuffer me répond (comble de l'insolence) : "cannot encode
some characters with latin-1" !
--------
Par ailleurs je ne comprends pas pourquoi il y a un "iso-8859-1-dos"
"iso-8859-1-unix", "iso-8859-1-mac" ET un "iso-8859-1" sans rien. Si on
demande "latin-1", est-ce différent des trois espèces "latin-1-dos/unix/mac"
?
Pour régler tous ces problèmes, auriez vous en tête une documentation claire
sur ce sujet ? Le manuel d'emacs ne m'aide pas du tout.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
SL
Par ailleurs je ne comprends pas pourquoi il y a un "iso-8859-1-dos" "iso-8859-1-unix", "iso-8859-1-mac" ET un "iso-8859-1" sans rien. Si on demande "latin-1", est-ce différent des trois espèces
"latin-1-dos/unix/mac"
?
Plus précisément : je suis sous Windows, le problème est peut être qu'avec les "latin-1" de mon .emacs il essaye d'encoder en latin-1-unix, et qu'il faudrait lui demander latin-1-dos ?
S
Par ailleurs je ne comprends pas pourquoi il y a un "iso-8859-1-dos"
"iso-8859-1-unix", "iso-8859-1-mac" ET un "iso-8859-1" sans rien. Si on
demande "latin-1", est-ce différent des trois espèces
"latin-1-dos/unix/mac"
?
Plus précisément : je suis sous Windows, le problème est peut être qu'avec
les "latin-1" de mon .emacs il essaye d'encoder en latin-1-unix, et qu'il
faudrait lui demander latin-1-dos ?
Par ailleurs je ne comprends pas pourquoi il y a un "iso-8859-1-dos" "iso-8859-1-unix", "iso-8859-1-mac" ET un "iso-8859-1" sans rien. Si on demande "latin-1", est-ce différent des trois espèces
"latin-1-dos/unix/mac"
?
Plus précisément : je suis sous Windows, le problème est peut être qu'avec les "latin-1" de mon .emacs il essaye d'encoder en latin-1-unix, et qu'il faudrait lui demander latin-1-dos ?
S
Pascal Bourguignon
"SL" writes:
Je voudrais encoder mes fichiers en latin-1, afin d'éviter les messages comme quoi les caractères de mon buffer ne peuvent pas être encodés. Mon .emacs est orthodoxe je crois :
(set-language-environment "Latin-1") ; Latin-9 pour l'euro (prefer-coding-system 'iso-8859-1) ; iso-8859-15 pour l'euro
Enfin si je fais "C-x RET f RET latin-1" pour forcer mon buffer à s'encoder en latin-1, le minibuffer me répond (comble de l'insolence) : "cannot encode some characters with latin-1" !
Voici la liste des caractères ISO-8859-1. Si tu tape un caractère qui n'est pas dans cette liste (comme le symbole euro par exemple), c'est foutu.
Le premier caractère est un espace normal:
! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~
Par ailleurs je ne comprends pas pourquoi il y a un "iso-8859-1-dos" "iso-8859-1-unix", "iso-8859-1-mac" ET un "iso-8859-1" sans rien. Si on demande "latin-1", est-ce différent des trois espèces "latin-1-dos/unix/mac" ?
L'encodage des _caractères_ est le même dans ces quatre codes. Mais l'encodage du passage à la ligne est différent:
newline mac carriage-return, (CR, 13, 0x0D) unix line-feed, (LF, 10, 0x0A) dos carriage-return suivi de line-feed, (CR-LF, 13 10, 0x0D 0x0A)
Pour régler tous ces problèmes, auriez vous en tête une documentation claire sur ce sujet ? Le manuel d'emacs ne m'aide pas du tout.
Peut être la norme ISO-8859-1 ? http://en.wikipedia.org/wiki/ISO_8859-1
-- __Pascal Bourguignon__
"SL" <nospam@nospam.com> writes:
Je voudrais encoder mes fichiers en latin-1, afin d'éviter les messages
comme quoi les caractères de mon buffer ne peuvent pas être encodés. Mon
.emacs est orthodoxe je crois :
(set-language-environment "Latin-1") ; Latin-9 pour l'euro
(prefer-coding-system 'iso-8859-1) ; iso-8859-15 pour l'euro
Enfin si je fais "C-x RET f RET latin-1" pour forcer mon buffer à s'encoder
en latin-1, le minibuffer me répond (comble de l'insolence) : "cannot encode
some characters with latin-1" !
Voici la liste des caractères ISO-8859-1. Si tu tape un caractère qui
n'est pas dans cette liste (comme le symbole euro par exemple), c'est
foutu.
Le premier caractère est un espace normal:
! " # $ % & ' ( ) * + , - . /
0 1 2 3 4 5 6 7 8 9 : ; < = > ?
@ A B C D E F G H I J K L M N O
P Q R S T U V W X Y Z [ ] ^ _
` a b c d e f g h i j k l m n o
p q r s t u v w x y z { | } ~
Par ailleurs je ne comprends pas pourquoi il y a un "iso-8859-1-dos"
"iso-8859-1-unix", "iso-8859-1-mac" ET un "iso-8859-1" sans rien. Si on
demande "latin-1", est-ce différent des trois espèces "latin-1-dos/unix/mac"
?
L'encodage des _caractères_ est le même dans ces quatre codes. Mais
l'encodage du passage à la ligne est différent:
newline
mac carriage-return, (CR, 13, 0x0D)
unix line-feed, (LF, 10, 0x0A)
dos carriage-return suivi de line-feed, (CR-LF, 13 10, 0x0D 0x0A)
Pour régler tous ces problèmes, auriez vous en tête une documentation claire
sur ce sujet ? Le manuel d'emacs ne m'aide pas du tout.
Peut être la norme ISO-8859-1 ? http://en.wikipedia.org/wiki/ISO_8859-1
Je voudrais encoder mes fichiers en latin-1, afin d'éviter les messages comme quoi les caractères de mon buffer ne peuvent pas être encodés. Mon .emacs est orthodoxe je crois :
(set-language-environment "Latin-1") ; Latin-9 pour l'euro (prefer-coding-system 'iso-8859-1) ; iso-8859-15 pour l'euro
Enfin si je fais "C-x RET f RET latin-1" pour forcer mon buffer à s'encoder en latin-1, le minibuffer me répond (comble de l'insolence) : "cannot encode some characters with latin-1" !
Voici la liste des caractères ISO-8859-1. Si tu tape un caractère qui n'est pas dans cette liste (comme le symbole euro par exemple), c'est foutu.
Le premier caractère est un espace normal:
! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~
Par ailleurs je ne comprends pas pourquoi il y a un "iso-8859-1-dos" "iso-8859-1-unix", "iso-8859-1-mac" ET un "iso-8859-1" sans rien. Si on demande "latin-1", est-ce différent des trois espèces "latin-1-dos/unix/mac" ?
L'encodage des _caractères_ est le même dans ces quatre codes. Mais l'encodage du passage à la ligne est différent:
newline mac carriage-return, (CR, 13, 0x0D) unix line-feed, (LF, 10, 0x0A) dos carriage-return suivi de line-feed, (CR-LF, 13 10, 0x0D 0x0A)
Pour régler tous ces problèmes, auriez vous en tête une documentation claire sur ce sujet ? Le manuel d'emacs ne m'aide pas du tout.
Peut être la norme ISO-8859-1 ? http://en.wikipedia.org/wiki/ISO_8859-1
-- __Pascal Bourguignon__
Pascal Bourguignon
"SL" writes:
> Par ailleurs je ne comprends pas pourquoi il y a un "iso-8859-1-dos" > "iso-8859-1-unix", "iso-8859-1-mac" ET un "iso-8859-1" sans rien. Si on > demande "latin-1", est-ce différent des trois espèces "latin-1-dos/unix/mac" > ?
Plus précisément : je suis sous Windows, le problème est peut êtr e qu'avec les "latin-1" de mon .emacs il essaye d'encoder en latin-1-unix, et qu'il faudrait lui demander latin-1-dos ?
Ça n'a aucun rapport avec l'OS, emacs utilise l'encodage qu'on lui dit d'utiliser par défaut, ou celui du fichier lu. (Voir à gauche de la ligne d'état l'indicateur (DOS) ou (MAC) quand ce n'est pas unix).
-- __Pascal Bourguignon__
"SL" <nospam@nospam.com> writes:
> Par ailleurs je ne comprends pas pourquoi il y a un "iso-8859-1-dos"
> "iso-8859-1-unix", "iso-8859-1-mac" ET un "iso-8859-1" sans rien. Si on
> demande "latin-1", est-ce différent des trois espèces
"latin-1-dos/unix/mac"
> ?
Plus précisément : je suis sous Windows, le problème est peut êtr e qu'avec
les "latin-1" de mon .emacs il essaye d'encoder en latin-1-unix, et qu'il
faudrait lui demander latin-1-dos ?
Ça n'a aucun rapport avec l'OS, emacs utilise l'encodage qu'on lui dit
d'utiliser par défaut, ou celui du fichier lu. (Voir à gauche de la
ligne d'état l'indicateur (DOS) ou (MAC) quand ce n'est pas unix).
> Par ailleurs je ne comprends pas pourquoi il y a un "iso-8859-1-dos" > "iso-8859-1-unix", "iso-8859-1-mac" ET un "iso-8859-1" sans rien. Si on > demande "latin-1", est-ce différent des trois espèces "latin-1-dos/unix/mac" > ?
Plus précisément : je suis sous Windows, le problème est peut êtr e qu'avec les "latin-1" de mon .emacs il essaye d'encoder en latin-1-unix, et qu'il faudrait lui demander latin-1-dos ?
Ça n'a aucun rapport avec l'OS, emacs utilise l'encodage qu'on lui dit d'utiliser par défaut, ou celui du fichier lu. (Voir à gauche de la ligne d'état l'indicateur (DOS) ou (MAC) quand ce n'est pas unix).
-- __Pascal Bourguignon__
SL
> Je voudrais encoder mes fichiers en latin-1, afin d'éviter les messages > comme quoi les caractères de mon buffer ne peuvent pas être encodés. Mon > .emacs est orthodoxe je crois : > > (setq keyboard-coding-system (quote latin-1)) > (setq terminal-coding-system (quote latin-1)) > (setq current-language-environment (quote latin-1)) > (setq default-buffer-file-coding-system 'latin-1)
J'ajouterais:
(set-language-environment "Latin-1") ; Latin-9 pour l'euro (prefer-coding-system 'iso-8859-1) ; iso-8859-15 pour l'euro
Adopté, mes nouveaux fichiers sont bien en latin-1.
> Enfin si je fais "C-x RET f RET latin-1" pour forcer mon buffer à
s'encoder
> en latin-1, le minibuffer me répond (comble de l'insolence) : "cannot
encode
> some characters with latin-1" !
Voici la liste des caractères ISO-8859-1. Si tu tape un caractère qui n'est pas dans cette liste (comme le symbole euro par exemple), c'est foutu.
Je pense que mes buffers étaient encodables en latin-1, en tout cas je suis sûr qu'il n'y avait pas de ligature oe. En tout cas le problème a disparu avec ces deux nouvelles variables.
L'encodage des _caractères_ est le même dans ces quatre codes. Mais l'encodage du passage à la ligne est différent:
newline mac carriage-return, (CR, 13, 0x0D) unix line-feed, (LF, 10, 0x0A) dos carriage-return suivi de line-feed, (CR-LF, 13 10, 0x0D
0x0A)
> Pour régler tous ces problèmes, auriez vous en tête une documentation
claire
> sur ce sujet ? Le manuel d'emacs ne m'aide pas du tout.
Peut être la norme ISO-8859-1 ? http://en.wikipedia.org/wiki/ISO_8859-1
Merci ! Sylvain
> Je voudrais encoder mes fichiers en latin-1, afin d'éviter les messages
> comme quoi les caractères de mon buffer ne peuvent pas être encodés. Mon
> .emacs est orthodoxe je crois :
>
> (setq keyboard-coding-system (quote latin-1))
> (setq terminal-coding-system (quote latin-1))
> (setq current-language-environment (quote latin-1))
> (setq default-buffer-file-coding-system 'latin-1)
J'ajouterais:
(set-language-environment "Latin-1") ; Latin-9 pour l'euro
(prefer-coding-system 'iso-8859-1) ; iso-8859-15 pour l'euro
Adopté, mes nouveaux fichiers sont bien en latin-1.
> Enfin si je fais "C-x RET f RET latin-1" pour forcer mon buffer à
s'encoder
> en latin-1, le minibuffer me répond (comble de l'insolence) : "cannot
encode
> some characters with latin-1" !
Voici la liste des caractères ISO-8859-1. Si tu tape un caractère qui
n'est pas dans cette liste (comme le symbole euro par exemple), c'est
foutu.
Je pense que mes buffers étaient encodables en latin-1, en tout cas je suis
sûr qu'il n'y avait pas de ligature oe. En tout cas le problème a disparu
avec ces deux nouvelles variables.
L'encodage des _caractères_ est le même dans ces quatre codes. Mais
l'encodage du passage à la ligne est différent:
newline
mac carriage-return, (CR, 13, 0x0D)
unix line-feed, (LF, 10, 0x0A)
dos carriage-return suivi de line-feed, (CR-LF, 13 10, 0x0D
0x0A)
> Pour régler tous ces problèmes, auriez vous en tête une documentation
claire
> sur ce sujet ? Le manuel d'emacs ne m'aide pas du tout.
Peut être la norme ISO-8859-1 ? http://en.wikipedia.org/wiki/ISO_8859-1
> Je voudrais encoder mes fichiers en latin-1, afin d'éviter les messages > comme quoi les caractères de mon buffer ne peuvent pas être encodés. Mon > .emacs est orthodoxe je crois : > > (setq keyboard-coding-system (quote latin-1)) > (setq terminal-coding-system (quote latin-1)) > (setq current-language-environment (quote latin-1)) > (setq default-buffer-file-coding-system 'latin-1)
J'ajouterais:
(set-language-environment "Latin-1") ; Latin-9 pour l'euro (prefer-coding-system 'iso-8859-1) ; iso-8859-15 pour l'euro
Adopté, mes nouveaux fichiers sont bien en latin-1.
> Enfin si je fais "C-x RET f RET latin-1" pour forcer mon buffer à
s'encoder
> en latin-1, le minibuffer me répond (comble de l'insolence) : "cannot
encode
> some characters with latin-1" !
Voici la liste des caractères ISO-8859-1. Si tu tape un caractère qui n'est pas dans cette liste (comme le symbole euro par exemple), c'est foutu.
Je pense que mes buffers étaient encodables en latin-1, en tout cas je suis sûr qu'il n'y avait pas de ligature oe. En tout cas le problème a disparu avec ces deux nouvelles variables.
L'encodage des _caractères_ est le même dans ces quatre codes. Mais l'encodage du passage à la ligne est différent:
newline mac carriage-return, (CR, 13, 0x0D) unix line-feed, (LF, 10, 0x0A) dos carriage-return suivi de line-feed, (CR-LF, 13 10, 0x0D
0x0A)
> Pour régler tous ces problèmes, auriez vous en tête une documentation
claire
> sur ce sujet ? Le manuel d'emacs ne m'aide pas du tout.
Peut être la norme ISO-8859-1 ? http://en.wikipedia.org/wiki/ISO_8859-1