It looks like the problem is that the user is typing the characters and they are getting mangled at that point.

I guess you could try using the ALT+Keypad combination - for example hold down the ALT key and type 130 on the numeric keypad to get "é" - but it's not very practical.

You could wrap it all up in a KiXforms GUI. It's a lot more work but it should get around the problem.