What is meta? ×
Meta Stack Exchange is where users like you discuss bugs, features, and support issues that affect the software powering all 130 Stack Exchange communities.

When I am searching my problem in Stack Overflow I saw display name in Chinese may be Korean I don't know.

Snap shot

So I also try to change my display name in Nepali. I give my display name श्री खनाल but I got a error:

Oops! There was a problem updating your profile: Display Name can only contain letters, digits, spaces, apostrophes or hyphens and must start with a letter or digit

I know about the error.But my question is why I am unable to update my display name locally? I search but unable to find any thing about this. Am I missing some thing to understand?

share|improve this question
2  
Related if not dup: What characters are allowed for the display name? –  hims056 Mar 14 '13 at 7:36
    
As explained in the linked post, the name you tried (in Hindi?) is not standard unicode while that other name is. –  Shadow Wizard Mar 14 '13 at 7:51
    
@Sha Its Devanagari Font not Hindi .Nepali language also use this font as well as Hindi language. –  Shree Mar 14 '13 at 7:53
3  
I also want to show my username in Gujarati language: હિમ્સ૦૫૬ :) –  hims056 Mar 14 '13 at 9:16

1 Answer 1

up vote 8 down vote accepted

The problem is the combining diacritical marks. As noted in What characters are allowed for the display name?, the underlying test is

the character set that maps to \w in a .NET regex.

From the linked page, this is

Equivalent to the Unicode general categories [\p{Ll}\p{Lu}\p{Lt}\p{Lo}\p{Nd}\p{Pc}\p{Lm}]

And there's the problem. Take for instance your surname, "Khanal", which is in fact

KHA NA+vowel AA LA

The AA here is, in Unicode parlance, a Spacing Combining Mark in character class Mc.

Character class Mc is NOT included in the .NET list of character classes accepted as "word characters".

Thus, a string like खनल would pass, while add any vowel to any letter (eg your name, खनाल) and the test fails. "Shree" has even less chance, since it boils down to four Unicode characters, only one of which counts as a letter!

It's arguable where the bug is here - .NET or Stack Exchange, and some might say using a Regex test to tell what is a valid name is wrong anyway, given all the corner cases.

But in any case, that's what's happening here. Try... having a name without any vowels? (this is a joke)

share|improve this answer
    
The joys of unicode. You'd think every glyth required to make a certain language would be all inside one class or another. –  Ben Brocka Mar 14 '13 at 12:38

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .