Mysteries about special characters in SMS
Sometime it is necessary to send a SMS containing some special characters via Message-Control e.g. Especially this is the case if one has to send a Cyrillic or Greek SMS. Unfortunately this is not straight forward usually and provides some traps.
Due to design of SMS service in GSM networks the encoding of the sent text can either be on codepage basis with 7-Bit characters or as Unicode text with 16-Bit characters (UCS2). Unfortunately many phones do not support all available codepages and the available number of codepages is strictly limited. Often the used codepage is hardwired in the phone according to the country it was sold. So playing with the used codepage and 7-Bit characters would be possible in principle but often does not really work independently of the receiving phone. So using Unicode character set is the better solution usually. But this brings us to the second handicap of the old SMS service. The length of a single SMS message is strictly limited to 160 7-Bit characters. This length is cut more than half again, if 16-Bit Unicode characters are used. So the maximum length of a Unicode SMS is only 70 characters.
To provide an optimal balance between functionality an efficiency we decided to go the following way in our message control: If the SMS only contains characters that can be mapped to standard codepage, the SMS is sent as normal 7-Bit character SMS. We did not face any compatibility problems with that in the past and we are able to use the “huge” 160 character size. If the SMS contains special characters the message control automatically switches to Unicode mode and sends out a Unicode SMS. To achieve this there are some additional requirements. First of course the used GSM modem must be able to send out Unicode SMS using the so called PDU mode. To enable the message control to use the PDU mode in property-page “Interfaces” in GSM service configuration modem type WAVECOM must be selected. And last but not least in “Services” property-page in GSM service configuration the “Numbering” checkbox in “Splitting” setting has to be disabled.
This feature is available since 6.51SP0+Build5.