0

jsms APIを使用して、PCから電話にUnicodeメッセージを送信しています。コードのこの部分を使用すると、完全に機能します。「ఈ ఒక తెలుగు సందేశం」というメッセージが完全に表示されます。

    SmsMessage msg = new SmsMessage();      
    msg.setRecipient("+919561356345");   

    String unicodeMsg = "ఈ ఒక తెలుగు సందేశం";   //telugu script   

    msg.setUserData(unicodeMsg.getBytes("UTF-16BE"));
    msg.setCodingGroup(SmsMessage.DC_GROUP_GENERAL);      
    msg.setAlphabet(SmsMessage.DC_UCS2);        
    msg.setMessageClass(SmsMessage.NO_CLASS);

      service.init(props);
      service.connect();
      service.sendMessage(msg);
      System.out.println("Message sent successfuly,  "+msg.getMessage());           
      service.disconnect();

コードで、データベースから同じメッセージ コンテンツを取得して TextArea をスイングし、ここで抽出すると、携帯電話に空白のメッセージが表示されます。変換とすべてに問題がありますか? これは私のコードです:

// here the argument text is taMessage.getText() where taMessage is TextArea;    
public SendUnicodeMessage(String port, String text, Object no){

    SmsMessage msg = new SmsMessage();
           String num = no.toString();
           msg.setRecipient(num);  

        String unicodeMsg = text.toString ; 

            msg.setUserData(unicodeMsg.getBytes("UTF-16BE"));
            msg.setCodingGroup(SmsMessage.DC_GROUP_GENERAL);      
            msg.setAlphabet(SmsMessage.DC_UCS2);              
            msg.setMessageClass(SmsMessage.NO_CLASS);             
            service.init(props);
            service.connect();
            service.sendMessage(msg);         
            System.out.println("Message sent successfuly,  "+msg.getMessage());       
              service.disconnect();
4

1 に答える 1

1

あなたの主な問題は、コンピューターが魔法のように画面に文字を描画できないことです。フォントが必要なだけでなく、表示したい文字を含むフォントが必要です。この問題の手がかりの 1 つは、必要な文字ではなく、小さな空の四角形です。もしそうなら、あなたのフォントは役に立たない。

したがって、最初に行う必要があるのは、テキストを表示できるフォントを見つけることです。次に、そのフォントを必要な場所にインストールする必要があります。それはまた、あなたの携帯電話にインストールすることを意味します. その方法については、お使いの携帯電話の OS の説明を参照してください。

この問題を と混同しないでください?。長方形は「有効な文字ですが、フォントで表示できない」ことを意味します。出力の疑問符は、プロセス全体のどこかで、エンコード/デコードが破損したことを意味します。これは、たとえば、片側で UTF-8 を出力し、反対側で UTF-16 を読み取る場合に発生します。

于 2013-05-20T22:09:21.173 に答える