> If your Perl scalar contains UTF-8 encoded text and is marked as such, > then you shouldn't need any decoding functions.
Hi Mark, I'm a relative new comer to utf8 so please take everything I say with a pinch of salt but your answer looks a bit qualified: if scalar, if marked. That implies if I want a Perl list (say @combo_options) for a Wx::ComboBox, then that won't work? Is that how it is? And I don't know what marked means. The real problem for me is that this feels like the wrong place to decode. There are lots of things I might want to do with a string before I display it. I might want to sort it, or trim white space, or substitute a place-marker with a value. And for these I need it to be decoded before I process it. If I have a very simple app with no string processing, then this approach would be great but not otherwise. I did have a lot of issues with utf8 at the beginning sometimes I had display issues with a utf8 string and sometimes not. There seemed to be no particular rhyme or reason to it. And as you say, it works differently on Windows and Linux. Finally, everything is very sensitive to small errors, like having a non-existent style code. So I use a policy which is that when I read a value into my program from a database or a file, I always decode immediately. That way I know that all my variables are decoded and processable. Then I encode before I write back to the file or db. If I have an issue now, it is always where I have not done a: $var = decode("utf8",$row->{ATT_BOOKING_COMMENT_TXT}) ; Anyhow let me know what you think. Regards Steve