I don't have a good answer for you on this, sorry.
Assuming you're using groov to talk to SNAP-PAC devices, the problem is that those devices don't have any concept of character encodings: they simply store bytes as they're given. When groov reads a string from those devices, it has to guess at how those strings are encoded. We don't have a good way of guessing that, so at the moment we decode them using whatever the default character encoding is on the platform that groov is running on.
(Which is probably not the best idea, we should be explicit and either always use the same encoding, or allow users to specify the encoding per device.)
If you're using an AR-1 or AT-1, groov will use UTF-8 to decode the bytes stored on your device. If you're using groov Server for Windows, groov will use the encoding that your Windows installation is set to use.
I believe PAC Control/Display will use the encoding that your Windows installation is set to use when writing strings, but I'll need to double check on that.
If you wouldn't mind trying something: If you write a tag from a groov gadget, does groov display the string properly?