UTF-8 is just one form of unicode representation - generally tends to require more work than the UTF-16 Windows uses internally (this used to be UCS-2 for older NT versions). Long story, though
In general a lot of languages, at least simple ones like our Danish, can be handled without going unicode, because of codepages; for non-unicode apps, Windows internally maps back and forth between UTF-16 and a 8bit codepage-specific encoding.
My guess is this particular bug is because mouser, or one of the components he relies on, uses one of the C++ library functions to ask "is this an ASCII character?" or "is this a printable character?" - which tend to say "nope, it isn't" for characters outside the 7bit ASCII range. In an english-only world, it makes sense to replace those "unprintable" characters with underscores