Converter String de EBCDIC para Unicode / UTF8

Eu sou capaz de enviar mensagens deJava paraWebsphere MQ emAS400. Se eu enviar mensagens deWinXP, não há diferença se eu usar qualquerLocale, incluindo localização completa de idiomas; nem há problema com o inglêsLocale. Importante para codificação correta é apenas esta linha de código:

msgId.characterSet = 1208;

Infortunadamente, não é válido. Existem diferenças no caso que eu quero levar a mensagem deMQ Queue.

No caso de eu receber uma mensagem deMQ Queue do sistema operacional Windows (inglês sem qualquer pacote de idioma), sou capaz de levar mensagens deMQ Queue emString Formato.

No caso de o sistema operacional Windows estar totalmente localizado com algum pacote de idiomas, estou recebendo uma exceção

Exception occured while to message buffer :
    java.io.UnsupportedEncodingException: Cp870 

de código (removido balast de try - catch - finally block)

try {
    Class.forName("com.ibm.mq.MQEnvironment");
    MQEnvironment.hostname = hostname;
    MQEnvironment.port = port1;
    MQEnvironment.channel = channel;
    MQEnvironment.userID = userID;
    MQEnvironment.properties.put(MQC.TRANSPORT_PROPERTY, MQC.TRANSPORT_MQSERIES);
    try {
        qmgr1 = new MQQueueManager(qmanager);
        MQGetMessageOptions gmo = new MQGetMessageOptions();
        int openOptions2 = MQC.MQOO_INPUT_SHARED;
        gmo.options = MQC.MQGMO_NO_SYNCPOINT; //Set no sync point
        gmo.options = MQC.MQGMO_CONVERT; //Handles ASCII/EBCDIC
        gmo.options = MQC.MQGMO_WAIT; //Wait until message arrives
        gmo.waitInterval = 3000;
        getq = qmgr1.accessQueue(responseQueue, openOptions2);
        while (true) {
            try {
                responseFromQUEUE = "";
                MQMessage msgId = new MQMessage();
                //putmsg.characterSet = 437;// Set code page to ASCII
                //putmsg.characterSet = 1200;// Set code page to UNICODE
                msgId.characterSet = 1208;
                getq.get(msgId, gmo);
                String str = msgId.readLine();
                //responseFromQUEUE = CpConv.tf870to1250(msgId.readLine());
                //own EncodePage doesn't works too
                if (responseFromQUEUE.length() == 0) {
                    break;
                }
            } catch (MQException mqx) {
                if (mqx.reasonCode == EMPTY_QUEUE) {
                } else {
                }
            }
        }
    } catch (MQException mqx) {
    } finally {
    }
} catch (IOException ex) {
} catch (ClassNotFoundException e) {
}

por favor

Existe algum parâmetro (s), algo que eu sinto falta lá para tomarString deMQMessage#readLine()

minha pergunta aqui é apenas sobreString conversão,

Eu não tenho nenhum problema comEncode deMQMessage#getBytes

questionAnswers(2)

yourAnswerToTheQuestion