Assuming your character set is ASCII or extended ASCII.
Disallow characters to which the rest of your stack might be vulnerable.
SQL? Disallow \, ", ', ;, maybe others
Console? Disallow console formatting characters
vsprintf? Disallow %
etc.
There's basically no reason to allow any character under 20 (space), 155-159, or anything above 166. Some other characters sometimes make sense as inputs, but not in names (like 35, #).