kinoko20,
The conversion you say that happens, from euc-kr to iso8859-1 is a wrong conversion. Afaik, there is no way to do this properly. Although I agree that it could work (can actually, because you say it works

), but certainly the conversion performed must be the trivial one (copy the same bytes and see what happens).
The problem in a unicode build is that the string type used in wx, and consequently in amule, uses unicode as its internal representation. So, what actually happens in a unicode build is:
gui(input) -> UTF-8(gtk2) -> unicode(wx) -> iso8859-1 ----> server
server ----> iso8859-1 -> unicode(wx) -> UTF-8(gtk2) -> gui(display)
In non-unicode builds, with gtk1, i am not sure, but i imagine that it happens like you showed in the picture, but notice that the conversion from euc-kr to iso8859-1 must not be exactly a conversion, once that it is actually impossible to do that. As I said, must be a simple byte copy.
It will probably work among machines that have the same locale as yours. And among clients that also incorrectly do the conversion like this.
Anyway, like I said before, I can't help you with that, because we are talking about network protocol. It is important that network code be an agreement and I can't implement something against it. I am not totally aware of the problems, Kry is the one discussing this with the other devs, when he is back he can certainly explain the matters to you better than I can.
What feature do you miss when you use amule with gtk1?
Cheers!