Well, then please define the rules for interpreting pinata as piñata, and the like. The problem is not really technical.
So far, your requirements look self-contradicting. Pinata as piñata, formally speaking, are just different words, no more, no less.
Also, I would ask you: why you cannot trust users just typing the characters they actually use? People who know how to spell and read protégé or piñata should know how to enter them.