"Preferred name," a UTF-8 string with absolutely no implied formatting, is a great way to deal with a bunch of these. Simply ask people what they want to be called and use that verbatim, always. Unfortunately the absolutely most common misconception about names is that they are easy, so almost every system tries to implement something more "clever," inevitably failing in stupid ways.