Le codage du terminal ne fonctionne pas pour certains personnages

3

MODIFIER

Ce problème a été résolu dans mon cas en modifiant l'émulation de terminal de VT100 à xterm. Apparemment, les deux programmes que j’essayais ne se comportaient pas correctement lorsqu’il s’agissait de tracer une ligne de terminal VT100. La réponse de geekosaur a été acceptée car elle m'a amené à changer l'émulation de terminal que j'utilisais.


Question originale

J'ai remarqué dans certaines applications de terminal, en particulier bpython et weechat, que certains caractères ne sont pas restitués correctement dans le terminal. Je viens tout juste de commencer à utiliser ces applications de terminal récemment, il y a à peu près un an et demi, alors que j'étais sous OSX 10.5 et je ne me souviens pas d'avoir eu ce problème.

Voici quelques exemples de captures d'écran.

Mon weechat; remarquez le marques par la liste des pseudos: enter image description here

Ce à quoi nous sommes supposés ressembler - une belle ligne mince sépare la liste des pseudos enter image description here:


Mon bpython - les caractères de bordure sont remplacés par des q et des? enter image description here

À quoi bpython doit ressembler: enter image description here


J'ai essayé de déconner avec les paramètres d'encodage et diverses polices, mais rien n'a encore résolu ce problème. J'aimerais savoir quelle est la cause de ce problème et comment je pourrais y remédier.

whaley
la source
J'ai eu le même problème avec iPython. Réglez-le sur xterm-color, corrigez-le, alors merci!
Agos

Réponses:

2

Huh. Effectivement, il ne s'agit pas de configurer le dessin de lignes VT100 par défaut et, apparemment, les programmes ne s'embarrassent pas de petites choses comme la façon dont vous êtes censé envoyer. enacs avant d'utiliser smacs plus (sans doute parce que certains émulateurs de terminaux Linux n'en ont pas besoin, donc "personne ne le fait").

Quoi qu’il en soit, la solution rapide (ici, au moins) est d’ajouter à votre ~/.bashrc

test -t && tput enacs
geekosaur
la source
En fait, vous venez de me faire penser à quelque chose que je n'ai pas encore essayé et qui "a fonctionné". Mon émulation de terminal a été définie sur VT100 et sa modification en xterm le "corrige" pour ces deux applications. J'accepterai votre réponse puisque vous m'avez informé du problème réel et m'a donné deux solutions de contournement (votre ajout à ~ / .bashrc et m'a amené à vérifier l'émulation de terminal).
whaley
Cela aurait du sens. la vt100 l'entrée n'a pas enacs, les jeux de caractères sont fixes. Terminal émule xterm, qui est une extension vt220 il faut donc savoir quel jeu de caractères utiliser pour G1. (Voir invisible-island.net/xterm/ctlseqs/ctlseqs.html pour plus de détails que vous voulez vraiment savoir :)
geekosaur