Please refer to my response above as far as determining the charset is concerned. If you look inside icu4j-charsets-4.4.jar, they have 176 conversion tables!
I'm not so sure I like the fallback mechanism, but if the team believes that is the best way to go, I will bend.