[SOLVED] urxvt getting some unicode characters wrong
by exodist from LinuxQuestions.org on (#55VGV)
I use urxvt + screen + zsh.
I can hit control+shit+numbers to enter unicode characters. Most seem to display correctly. Some randomly do not.
Example, unicode checkmark: U+2713
If a program outputs the checkmark I see an accented 'a' instead: a
If I use control+shift+2713 the yellow popup inside urxvt shows the checkmark, but as soon as I release the control+shift I am left with no characters entered, if I hit space then the accented 'a' suddenly manifests itself before the space.
$LANG is set to en_US.UTF-8
$TERM is set to "screen" (screen does that)
---- More experimenting ----
Realized my testing above was when SSH'd. So urxvt + ssh then zsh+screen on the remote host. On my localhost everything displays properly. So something in the transfer from the remote machine to my terminal is the problem.
---- Yet More ----
If I load urxvt, run screen, ssh to the host, then launch screen, everything works fine. So I looked at how I normally get there. I have a hotkey that calls a script that runs
Code:urxvt -name urxvttile -e sh -c "TERM=rxvt-unicode /usr/bin/ssh -A -t $@ screen -RR || sleep 100";Turns out that '-t' in the ssh command is the cause, pseudo-terminal allocation. The problem is that without that -t this command fails saying "Must be connected to a terminal."
I am now stuck. I like having a hotkey to open urvt+ssh+zsh+screen to quickly get my a window into a remote host. But I need -t and -t breaks unicode.


I can hit control+shit+numbers to enter unicode characters. Most seem to display correctly. Some randomly do not.
Example, unicode checkmark: U+2713
If a program outputs the checkmark I see an accented 'a' instead: a
If I use control+shift+2713 the yellow popup inside urxvt shows the checkmark, but as soon as I release the control+shift I am left with no characters entered, if I hit space then the accented 'a' suddenly manifests itself before the space.
$LANG is set to en_US.UTF-8
$TERM is set to "screen" (screen does that)
---- More experimenting ----
Realized my testing above was when SSH'd. So urxvt + ssh then zsh+screen on the remote host. On my localhost everything displays properly. So something in the transfer from the remote machine to my terminal is the problem.
---- Yet More ----
If I load urxvt, run screen, ssh to the host, then launch screen, everything works fine. So I looked at how I normally get there. I have a hotkey that calls a script that runs
Code:urxvt -name urxvttile -e sh -c "TERM=rxvt-unicode /usr/bin/ssh -A -t $@ screen -RR || sleep 100";Turns out that '-t' in the ssh command is the cause, pseudo-terminal allocation. The problem is that without that -t this command fails saying "Must be connected to a terminal."
I am now stuck. I like having a hotkey to open urvt+ssh+zsh+screen to quickly get my a window into a remote host. But I need -t and -t breaks unicode.