13-Apr-2009 10:29 PM
what effect does the inclusion of an arabic character within an english sms have on the length of the message. using pc suite, i can type about 60 english characters and it sends it as 1 message. adding a single arabic character will increase the message size to 3 messages. i have to delete about 30 english characters to send it as 1 message with that arabic character.
any idea why this happens.
thanks,
maz
14-Apr-2009 11:51 PM
Sounds to me like a Unicode issue - the text with the arabic character is stored/transmitted using two bytes per character instead of the normal one byte per character.
Introducing the arabic character into the message will almost certainly cause the entire message to be stored/transmitted using a multi-byte character set rather than the normal, and more efficient, ASCII/UTF-8 character set.
You double the number of bytes needed for each character by adding just a single arabic character to your message as it then has to be stored/transmitted in in a multi-byte Unicode format such as UTF-16 (two bytes per character). Since you are now using two-bytes per character instead of one byte per character, you can only send half as many multi-byte encoded characters per fixed-sized SMS message. Or, as you have found out, you have to send two messages in order to transmit the same amount of text you would have done if you had not added the arabic character.
At least, that's my best guess. ![]()
16-Apr-2009 10:12 PM
milhouse,
thank you for your reply. another thing i noticed though was that if i send a text in arabic (only) of say 30 characters it's transmitted as a single message and as i continue upto the 60 or so allowed for a single message it's still transmitted as one message if all the charactwers are arabic! i.e. if the message is all in arabic, there is no problem at all as character length is the same as that for english. however, as soon as i mix arabic and english characters, then as you say in your post, the characters maybe converted to 2 bytes per character even if it's english.
thanks
maz