Se você está indo usar seus nomes do utilizador para gerar os URL etc., eu tentaria então furar com o jogo padrão do ASCII dos caráteres, nenhuns caráteres especiais. Uma aproximação simples poderia ser certific de cada caráter estivesse entre 0-9, a-z ou A-Z. Alguns outros caráteres, como o relevo são permitidos igualmente nos URL.
Está aqui uma ligação rápida que descreva os URL e os caráteres permitidos etc.
http://www.blooberry.com/indexdot/html/topics/urlencoding.htm