personalmente no dejo que coloquen ese tipo de carácteres especiales en los nombres de usuarios por eso te dije lo de las expresiones regulares, ahora que si deseas que se permitan ese tipo de caracteres (cosa que no es aconcejable desde mi punto de vista) puedes utilizar
mysql_real_scape_string que te escapa los caracteres especiales al momento de hacer el insert, saludos