Gtk sets the locale when it's set up to make parts of the UI localized.
We set it properly before displaying the dialog and reset to "C"
afterwards to avoid portability issues in number parsing functions.
Fixes#14196
Thanks to @rootfather and @elasota for the investigation.
Different platforms have different levels of support of encodings and
often have slight variations. We already have tables for most encoding
with only CJK missing. Full transcoding inclusion allows us to get reliable
encoding results independently of platform. The biggest con is the need for
external tables encoding.dat.
It removes a duplicate table for korean in graphics/korfont.cpp
- Encoding::convert which was previously used needed to be freed by the caller.
- With the direct conversion to utf8 by .encode(), this doesn't need to happen anymore