I am having the exact same problem. If you find a resolution, please let me know.
The best solution I have found is using the Filter function. Put all valid characters in, and the invalid ones will be removed. Of course, which characters you consider valid is up to you! The other important note is that the Filter function is case-sensitive, so include both upper- and lower-case letters.
Filter ( TextField; "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" )