# Zeichen-Codierung in (SMS) TextMessage, "_" wird §



## rad238 (29. Okt 2007)

Hallo,

ich habe ein Zeichen-Codierungs-Problem bei dem ich nicht weiter komme. Vielleicht weiß von Euch jemand Rat.

Mein Problem:
Ich versuche in einer SMS den String "123_ABC" zu übertragen. Anstelle von "_" versendet meine Applikation immer ein "§". Die empfangene SMS ist also "123§ABC".

Mein Quellcode (Ausschnitt):

```
String destUrl = "sms://+55555";
MessageConnection mc = (MessageConnection) Connector.open(destUrl);
TextMessage msg = (TextMessage)mc.newMessage(MessageConnection.TEXT_MESSAGE);
String payload = "123_ABC";
msg.setPayloadText(payload);
mc.send(msg);
```

Betriebssystem:
BlackBerry OS 4.2

Was ich schon versucht habe:
In ISO-8859-1 hat "_" den Wert 0x5F. Im GSM 03.38 Character Set hat "_" den Wert 0x11, wohingegen 0x5F das Zeichen "§" darstellt. Daher habe ich meinen Payload wie folgt geändert:

```
String payload = "123"+(char)0x11+"ABC";
```
In dem Fall ändert die Implementierung von "TextMessage" ihre Variable "encoding" vom Wert 0 zum Wert 2 und interpretiert die Zeichen als 16-bit-Unicode (das sehe ich beim Debuggen). Somit wird (char)0x11 zu einem unsichtbaren Zeichen und ich erhalte "123ABC".
Egal was ich mache, das encoding ist immer falsch und ich weiß nicht, wie ich das im Code ändern kann. In der Dokumentation hat "TextMessage" keine Variable "encoding" und der Versuch "encoding" im Code zu ändern kompiliert nicht. 

Meine Frage:
Weiß jemand, wie ich  "_" als SMS übermitteln kann? Oder weiß jemand, wie ich das encoding in der TextMessage festlegen kann? 

Über eine Idee würde ich mich sehr freuen.
Viele Grüße,
Andreas


----------



## rad238 (29. Okt 2007)

...


----------



## lruckhaber (18. Apr 2009)

ich habe gerade das gleiche problem mit den zeichenkodierung von _ nach §. Hast jemand dazu eine Lösung gefunden?


----------

