Si vous allez employer leurs noms de l'utilisateur pour produire des URL etc., j'essayerais alors de coller avec l'ensemble standard d'ASCII de caractères, aucuns caractères spéciaux. Une approche simple pourrait être de vérifier que chaque caractère est entre 0-9, a-z ou A-Z. On permet également quelques autres caractères, comme le soulignage dans les URL.
Voici un lien rapide qui décrit les URL et les caractères permis etc.
http://www.blooberry.com/indexdot/html/topics/urlencoding.htm