You need to make sure that wxWidgets used to build wxhaskell supports Unicode. I think you can verify by running wx-config -libs -unicode.
I think wxWidgets expects simple 8-bit characters, but receives 32-bit ones. Zeros are interpreted as zero characters, i.e. Line delimiters. Enabling Unicode support gives you wxWidgets, which accepts wide characters. I'm not quite sure that this version of the story is pretty accurate, but I know that Unicode wxWidgets solves the problem.
On most Linux distributions, I think the wxWidgets package already supports Unicode.
In MacOS X, wxWidgets comes with Unicode support, but unfortunately there are some necessary functions related to event handling. The easiest way to get a working wxWidgets is through Homebrew (brew update; brew install wxmac).
I have never tried wxhaskell for windows, but others.
source share