SMS encoding - GSM-7, UCS-2, split messages and garbled characters

Created by James Mackenzie, Modified on Fri, 7 Aug at 7:47 PM by James Mackenzie

Encoding problems produce the strangest-looking tickets - question marks, boxes, messages split mid-word, or one message billed as three. The rules underneath are simple.

The two alphabets

  • GSM-7: the standard alphabet - 160 characters per message. Basic Latin letters, digits, and a fixed set of symbols. A few characters (like the Euro sign and square brackets) count as TWO characters each.
  • UCS-2: used the moment your message contains ANY character outside GSM-7 - one emoji, one smart quote, one non-Latin letter - and the per-message limit drops to 70 characters.

Why messages split (and bill) the way they do

Anything longer than one message is sent as concatenated parts: 153 characters per part in GSM-7, 67 in UCS-2, and each part bills as a message. A 300-character template with one emoji is five billable parts; without the emoji it is two. Copy-pasting from word processors is the classic trap - smart quotes and long dashes silently flip the whole message to UCS-2.

Garbled characters

  • Question marks or boxes at the handset: a character was submitted in an encoding the chain or handset could not represent. Check what your platform declared (DCS value) versus what the content actually was.
  • Split messages arriving out of order or partially: usually a destination-network concatenation quirk - report with message IDs and the exact content.

The one-minute pre-flight for templates

Run the template through a GSM-7 check before a campaign: confirm which alphabet it lands in, the part count, and strip the invisible UCS-2 triggers. It is the cheapest cost-per-message optimisation there is.

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article