Yes, that theory is likely to be correct. There are two things that can be considered bugs here:
1. The name filtering code is called on the client
2. The name filtering code checks for whitespace with isspace(), which is locale dependant.
Both changes have been introduced sometime between 0.2.7.1 and 0.2.8.2. The good news is that this is not a security hole, and it can be worked around by setting
in settings.cfg. So there is no need for an emergency fix.
The chat lines and messages get formatted on the server, so there the extra filtering is not applied.
About 1: I suggest the client should not do player name filtering, except for color codes.
About 2: Our character set is the same for everyone, it does not make sense to use locale dependant functions at all. I'll replace all isspace() calls with isblank().