我正在尝试使用CloudHopper lib使用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发送阿拉伯字符的示例/方式?

最佳答案

我解决了,我们只需要使用以下方式编码阿拉伯短信:

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

08-08 00:13