2013-11-24 95 views
1

我試圖用CloudHopper LIB來發送使用SMPP阿拉伯文短信,但我面臨的一個問題是,出現的字符(?????)阿拉伯語與cloudhopper SMPP

 msg = "\u0627\u062E\u062A\u0631 \u0627\u0644\u062C\u0647\u0629"; 

     byte[] shortMessage = CharsetUtil.encode(msg, CharsetUtil.NAME_UTF_8); 
     SubmitSm submit0 = new SubmitSm(); 

     // add delivery receipt 
     submit0.setRegisteredDelivery(SmppConstants.REGISTERED_DELIVERY_SMSC_RECEIPT_REQUESTED); 

     submit0.setSourceAddress(new Address((byte)5, (byte)1, VIVA_SENDER_ID)); 
     submit0.setDestAddress(new Address((byte)1, (byte)1, mobileNumber)); 
     Tlv tlv = new Tlv(SmppConstants.TAG_MESSAGE_PAYLOAD, shortMessage, "message_payload"); 
     submit0.setOptionalParameter(tlv); 
     submit0.setDataCoding((byte)8); 
     submit0.setOptionalParameter(tlv); 
     SubmitSmResp submitResp = session0.submit(submit0, 10000); 
     result=submitResp.getResultMessage(); 

有什麼使用CloudHopper lib發送阿拉伯字符的示例/方法?

+0

在接收端,你是在讀的字節在同一個字符集? –

+0

由於我向移動設備發送短信,因此接收方是移動的,所以我無法處理用戶移動設備將如何閱讀它 – user3027682

+0

如果它沒有設置爲閱讀阿拉伯文字符,那麼您是afaik,運氣不好。 –

回答

1

我解決它,我們只需要與編碼阿拉伯短信:

byte[] shortMessage = CharsetUtil.encode(msg, CharsetUtil.CHARSET_UCS_2);