Ecco il codice! ho creato un OutputStreamWriter dall'OutputStream che mi restituisce il metodo getOutputStream della classe CommPort nel package javax.comm. Ho impostato come charset l'ISO-8859-1 avendo dato un'occhiata in giro sui vari charset per i modem. Ho fatto la prova anche con UTF-8 e US-ASCII ma niente da fare.

codice:
            
OutputStreamWriter writer = new OutputStreamWriter(out,"ISO-8859-1");             
writer.write("AT+CMGF=1\r");
writer.write("AT+CMGW=\""+numero+"\"\r");
writer.write(messaggio+"\r");
writer.write(endline);