If you're sure that the keys will only contain Alphabetic and diacritic characters, you could try a s/[^A-Za-z]/,/ in davido's sterilize function. That turns ugly chars into a comma, which serves as a placeholder for any icky bits. Still incredibly hackish, but better than specifying all the weird marks by hand... Turns out this post was based on a misunderstanding b/c of an incorrect encoding on my browser. Please see Roger's solution, below.
Who is Kayser Söze? Code is (almost) always untested.