Why a letter can pass where a space fails
Most name fields reject a blank entry by trimming whitespace and checking what remains. In JavaScript, String.prototype.trim() removes all thirteen Zs characters on this page plus U+FEFF, which we confirmed in Node.js, so a name built only from em spaces or no-break spaces collapses to nothing. U+3164 HANGUL FILLER survives that check because Unicode classifies it as a letter, category Lo, not as whitespace. The same holds for the Braille blank U+2800, a symbol with an empty dot pattern. That is the most likely reason these two are the ones widely reported to work in game and social profiles that refuse plain spaces.
Normalization can turn a fancy space back into a plain one
Many services normalize usernames to the NFKC form before saving them, mainly to stop look-alike spoofing. Running Python's unicodedata module over this set shows what that does: every Zs character here, from U+00A0 to U+3000, becomes an ordinary U+0020 space, and both U+3164 and the halfwidth U+FFA0 become U+1160 HANGUL JUNGSEONG FILLER. The format controls and the Braille blank pass through unchanged. So if a blank name saves but later shows up trimmed or merged, normalization is a likely cause. Try a different group from the table, test it in a private message or a throwaway profile first, and keep the original name somewhere you can paste it back from.
