Note that this is a change to the wxWidgets library, not to FMSLogo.
The problem was that it was trying to take an ANSI character code, thinking it was Unicode, and then converting it to ANSI. When this invitably failed for non-Latin characters, wxWidgets would default to 0, which manifested itself as [NUL] when typing into the editor. Since the key code is already ANSI, there's no reason try to convert it to ANSI.
This revision also updates the change I had made to ScintillaWX.cpp to instead match the change which the wxWidgets developers made when I reported the problem to them. Now that the characters can't ever be over 255, it's safe to use the mainline change.