Ok, what have you done this time with charsets..
'less' works fine here, on a fresh "Personal Desktop" installation (well, that plus Japanese language support).
[gordon@vagabond:~]$ set | egrep 'LANG|^LC|LESS' LANG=en_US.UTF-8 LANGVAR=en_US.UTF-8 LESSOPEN='|/usr/bin/lesspipe.sh %s'
[gordon@vagabond:~]$ echo "åöä hi mom" >moreisless
'less' displays what it should.
man less: -Kcharset
Not sure why that's relevant given your message.
($:~) echo "åöä hi mom" >moreisless
What shell is that?