Sending unicode offline message via JML

In order to send unicode offline message, we can modify the method getOfflineMsg of the class  
net.sf.jml.protocol.soap.OIM as follow. 
 
private String getOfflineMsg(Email email, String txt) 

StringBuilder mess = new StringBuilder(); 
String displayName=new String(); 
try 

displayName=new String(Base64.encode(session.getMessenger().getOwner().getDisplayName().getBytes("UTF-8"))); 
txt=new String(Base64.encode(txt.getBytes("UTF-8"))); 

catch (UnsupportedEncodingException uee) 

    uee.printStackTrace(); 

mess.append("<?xml version="1.0" encoding="utf-8"?>rn"); 
mess.append("<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"rn xmlns:xsd="http://www.w3.org/2001/XMLSchema"rn xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" >"); 
mess.append(" <soap:Header>"); 
 
mess.append(" <From memberName="" + session.getMessenger().getOwner().getEmail().getEmailAddress() 
+ "" friendlyName="=?utf-8?B?" + displayName + "?="rn xml:lang="nl-nl"rn proxy="MSNMSGR"rn xmlns="http://messenger.msn.com/ws/2004/09/oim/"rn msnpVer="MSNP15"rn buildVer="8.5.1288.816"/>"); 
mess.append(" <To memberName=""+ email.getEmailAddress() + "" xmlns="http://messenger.msn.com/ws/2004/09/oim/"/>"); 
mess.append(" <Ticket passport="" + sso.getOimTicket().replaceAll("&", "&amp;") + ""rn appid="PROD0119GSJUC$18"rn lockkey="" + lockkey + ""rn xmlns="http://messenger.msn.com/ws/2004/09/oim/"/>"); 
mess.append(" <Sequence xmlns="http://schemas.xmlsoap.org/ws/2003/03/rm">rn"); 
mess.append(" <Identifier xmlns="http://schemas.xmlsoap.org/ws/2002/07/utility">http://messenger.msn.com</Identifier>rn"); 
mess.append(" <MessageNumber>" + sentMsgNumber + "</MessageNumber>rn"); 
mess.append(" </Sequence>rn"); 
mess.append(" </soap:Header>rn"); 
mess.append(" <soap:Body>rn"); 
mess.append(" <MessageType xmlns="http://messenger.msn.com/ws/2004/09/oim/">text</MessageType>rn"); 
mess.append(" <Content xmlns="http://messenger.msn.com/ws/2004/09/oim/">MIME-Version: 1.0rn"); 
mess.append("Content-Type: text/plain; charset=UTF-8rn"); 
mess.append("Content-Transfer-Encoding: base64rn"); 
mess.append("X-OIM-Message-Type: OfflineMessagern"); 
mess.append("X-OIM-Run-Id: {3A3BE82C-684D-4F4F-8005-CBE8D4F82BAD}rn"); 
mess.append("X-OIM-Sequence-Num: " + sentMsgNumber + "rnrn"); 
mess.append(" " + txt + ""); 
mess.append(" </Content>"); 
 
mess.append(" </soap:Body>"); 
mess.append("</soap:Envelope>"); 
 
return mess.toString();