Будет ли ваше приложение использоваться не англоязычными пользователями?
Как минимум разрешить использование европейских символов, таких как à é è ì.
Конечно, если он действительно интернационализирован, то вы должны разрешить любые символы на таких языках, как китайский и арабский.
Похоже, вы не можете составить список разрешенных персонажей, если не хотите свести с ума.
Если вы хотите сделать это в целях безопасности, я бы рекомендовал экранировать необходимые символы, прежде чем пытаться использовать строку вместо предварительной фильтрации.