We use utf8 everywhere except interaction with win32 (which has no utf8 interface) and for rendering text onscreen (where we should really be using utf32, but haven't yet had people from countries with languages that require it complaining).  The rendering of text may well be RTL or similar, so it may not be that a direct wstring copy will do what you want.