OVH Cloud OVH Cloud

erc : encodage des accents ?

2 réponses
Avatar
helene
Bonsoir,

J'essaye d'utiliser erc pour l'IRC, et je bute sur un problème
d'encodage : si quand je tape une phrase dans mon Emacs, tout s'affiche
correctement, par contre, dans x-chat, les caractères ne sont pas
encodés en iso-8859-15, donc mes interlocuteurs ont bien du mal à lire.

Sous x-chat, il suffit de taper /charset iso-8859-15, mais erc ne
connaît pas, semble-t-il, la commande charset. Que dois-je lui dire ?

Le problème est le même qu'il s'agisse de la version 5.1.1 ou de la
version 5.1.2 de erc.

Je vous remercie
Hélène

2 réponses

Avatar
Bastien
helene writes:

Sous x-chat, il suffit de taper /charset iso-8859-15, mais erc ne
connaît pas, semble-t-il, la commande charset. Que dois-je lui dire ?



Voici qui peut aider :

(setq erc-default-coding-system 'utf-8)
(setq erc-encoding-coding-alist '(("#bitlbee" . iso-8859-1)))

Ca me permet d'utiliser l'utf-8 partout sauf dans bitlbee. Si tu as
besoin d'encodages particuliers pour des canaux, c'est pratique.

Je vous remercie



De rien, bonne soirée !

--
Bastien
Avatar
raloupower
Salut théoliane !

Rien à ajouter, sauf que j'avais eu des pb d'accents moi aussi avec
erc après une mise à jour, bie qu'ayant mis ceci dans mon fichiers
.emacs :

(setq erc-default-coding-system 'iso-8859-15)

Mais j'ai repris l'ancien fichier ensuite (qui marchait sans problème
avec cette ligne). Sans doute vais-je essayer la solution donnée par
Bastien, qui se rapproche beaucoup de ce que j'ai écrit.

Sinon, quelques petits conseils de personnalisation ?

Pour l'affichage des buffers, trouvé sur le net (très certainement
emacswiki, section pages persos en français :
http://www.emacswiki.org/cgi-bin/emacs-fr, que l'on veuille bien me
pardonner si je ne donne pas précisément la source) :

*********************************************************************

;;afichage heures
(erc-timestamp-mode 1)
(setq erc-timestamp-format "[%H:%M] ")
(setq erc-timestamp-right-format "[%a %e %b %Y]")
(setq erc-insert-timestamp-function 'my-erc-timestamp-left-and-right)
(defun my-erc-timestamp-left-and-right (string)
(let* ((last-inserted erc-timestamp-last-inserted)
(ct (current-time))
(ts-left (erc-format-timestamp ct erc-timestamp-format))
(ts-right (erc-format-timestamp ct erc-timestamp-right-format)))

(erc-insert-timestamp-left ts-left)
(let ((erc-timestamp-only-if-changed-flag t))
(setq erc-timestamp-last-inserted last-inserted)
(erc-insert-timestamp-right ts-right)
(setq erc-timestamp-last-inserted ts-right))))

**********************************************************************


pour joindre automatiquement certains salons lors de la connection au
serveur correspondant (là aussi, emacswiki très certainement) :


************************************************
(require 'erc-autojoin)
(erc-autojoin-mode 1)
(setq erc-autojoin-channels-alist
'(("freenode.net" "#emacsfr" )
("creatixnet.com" "#framasoft")
))
************************************************

Ces salons ne te sont pas inconnus ;-)


Pour éviter d'avoir à taper ton mot de passe :

(require 'erc-nickserv)
(erc-nickserv-mode 1)
(setq erc-prompt-for-nickserv-password nil)

On configure la connection avec mot de passe comme suit :


********************************************************************
(add-hook 'erc-after-connect
'(lambda (SERVER NICK)
(cond
((string-match "freenode.net" SERVER)
(erc-message "PRIVMSG" "NickServ identify motdepasse")
)
((string-match "creatixnet.com" SERVER)
(erc-message "PRIVMSG" "NickServ identify motdepasse")
)
)))

********************************************************************

La reconnection devrait marcher si tu configure l'auto-kick du salons
sur off : on verra peut être ça en direct-live.


Pour ne pas à avoir à taper M-x erc-select et tout ce qui s'en suit :

*********************************************************************
;; -------------------- Autoconnecting -------------------- ;;
(defmacro de-erc-connect (command server port nick)
"Create interactive command `command', for connecting to an IRC server. The
command uses interactive mode if passed an argument."
(fset command
`(lambda (arg)
(interactive "p")
(if (not (= 1 arg))
(erc-select ,server ,port ,nick)
(erc ,server ,port ,nick ,erc-user-full-name t)))))

(de-erc-connect erc-freenode "irc.freenode.net" 6667 "ralou")
(de-erc-connect erc-lea "irc.creatixnet.com" 6667 "ralou")
***************************************************************************

Des variables :

***************************************************************************
(custom-set-variables
'(erc-modules (quote (autoaway autojoin button fill irccontrols log
netsplit noncommands notify pcomplete completion ring services stamp track truncate))))
(custom-set-faces)
************************************************************

Et du divers :

************************************************************
(add-hook 'erc-mode-hook
'(lambda ()
(require 'erc-pcomplete)
(pcomplete-erc-setup)
(setq erc-fill-column 110)
(erc-completion-mode 1)))

(require 'erc-fill)
(erc-fill-mode 1)

(setq-default erc-fill-column 110)

(require 'erc-ring)
(erc-ring-mode 1)

(require 'erc-netsplit)

(erc-netsplit-mode 1)
******************************************************************

il y a un peu de redondance dans ce dernier passage, faudrait que je
le regarde à nouveau



--
raloupower - email & jabber : -
PGP/GnuPG key : 1024D/DA96B10A
DON'T USE MSN ! PREFER JABBER !
http://www.jabber.org/ - http://www.jabberfr.org/