Si usted va a utilizar sus nombres del usuario para generar los URL etc, entonces intentaría pegarme con el sistema estándar del ASCII de los carácteres, ningunos carácteres especiales. Un acercamiento simple podría ser comprobar que cada carácter está entre 0-9, a-z o A-Z. Algunos otros carácteres, como raya también se permiten en URL.
Aquí está un acoplamiento rápido que describe los URL y los carácteres permitidos etc.
http://www.blooberry.com/indexdot/html/topics/urlencoding.htm