Charles E Campbell Jr wrote:
mbbill wrote:
I met a very strange problem recently, that is
when I set the following options:
set encoding=utf-8
set ignorecase
then the expression: if "\xe4"=="\xe4" fails.
I test it using:
if "\xe4"=="\xe4"
echo "test"
endif
but I got nothing output, why ?
Try
set encoding=utf-8
if "\xe4" == "\xe4"
redraw!
echo "equal!"
else
redraw!
echo "not equal"
endif
Looks like your message is doing an unwanted disappearing act.
Regards,
Chip Campbell
It's not as simple as that, Dr. Chip: I get 0 (zero) as reply to
:echo ("\xe4" == "\xe4")
when 'encoding' is UTF-8. However, the byte 0xE4 by itself is not a valid
character in UTF-8. I also get 1 (one) in reply to
:echo ("ä" == "\xc3\xa4")
where ä (a-umlaut) is Unicode codepoint U+00E4, represented in UTF-8 by the
two bytes 0xC3 0xA4.
Best regards,
Tony.