First I type od
Then I type a 'k' in the greek language, then hit backspace
Then I have to hit ctrl+d twice to get to the command prompt again
I get this output from that sequence:
gnychis at monster ~ $ od
0000000 000316
0000001
I can do the same an xterm but I only have to hit ctrl+d once, and get
this output:
gnychis at monster ~ $ od
0000000
Therefore, according to you this is a kernel problem?
I am using these options in my kernel:
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="utf8"
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_ISO8859_1=y
CONFIG_NLS_ISO8859_7=y
CONFIG_NLS_UTF8=y
Is there anything I am doing wrong in the kernel configuration for UTF-8?
Thanks!
George
Marc Lehmann wrote:
> On Tue, Sep 05, 2006 at 02:58:38AM -0400, George Nychis <gnychis at cmu.edu> wrote:
>> I am rehashing this thread because I still haven't been able to solve it.
>> Maybe you should ask on an appropriate forum for your shell or
> kernel/distribution then, as this has nothing to do with the terminal
> emulator.
>>> Would you be able to give me any od/xxd examples that I could run as tests?
>> od
> type a multibyte character
> ctrl-d
> => od outputs the corretc multibyte sequence
>> od
> type a multibyte character
> backspace
> ctrl-d
> => od must not output anything as the whole character must be deleted
>> if this does not happen, the problem is in your kernels utf-8 support,
> either it's missing or simply not switched on (urxvt tries to switch it on
> on linux. but requires up-to-date kernel headers).
>> do the same with read. if it's not working properly, then your shell is at
> fault, likely it simply doesn't care.
>Original thread:
-------------------
Hey everyone,
I just recently started using urxvt because of its unicode support. In
xterm I was able to get unicode working perfectly, but wanted the
features of urxvt.
I have one problem that is not present in xterm but is in urxvt,
whenever I hit a backspace, it leaves a hidden character, but only when
using the greek language, for instance.
gnychis at monster ~ $ read ans; echo -n "$ans" | od -t x1
τεστ
0000000 cf 84 ce b5 cf 83 cf 84
0000010
I will type test using greek characters into a variable, hit backspace
on the e and re-type it:
gnychis at monster ~ $ read ans; echo -n "$ans" | od -t x1
τεστ
0000000 cf 84 ce ce b5 cf 83 cf 84
0000011
Notice how there is an extra "ce" where i typed the backspace. This
does not happen in xterm. This may seem like nothing since its
invisible, but the whole reason I chose the terminal was to practice my
greek words, where i read the word in a variable, then test it against
the real word. Well, since i'm testing the two variables for equality,
they come up unequal when i use a backspace.
I'd greatly appreciate any help.
Thanks!
George