I'm not sure, what your problems are.
However, probably a project of me could be some help.
I modified the st (suckless terminal) to work with (only) the ASCII extended code.
It's somehow a joke, but suddenly German Umlauts work like a charm, using vi, shell, andsoon. (Using CP1252)
Stripped unicode support in favour of the 256 chars (extended) ASCII table utf8 is an optional compiletime switch now (Most programs suddenly handle German Umlauts, etc.pp out of the box, using the ASCII table only. E.g. bash, vi, .. What is an interesting result. st has a quite good unicode handling, but until yet I always needed to dive into the configurations for entering chars like ä,ö,ß in unicode mode) Besides, instead of having a history buffer, which needs 15 Bytes per Glyph (a Glyph is a char on the screen with text attributes and colors) - now each Glyph is 4 Bytes. What can be nicely optimized. I like having a responsive and resource saving terminal, and I'm always keeping at least 10 terminals open at my development system, so that sums up.