I am using the Clickatell REST API for sending SMSes. I need to send some special characters (like Ä) which are all available in the GSM 03.38 standard (and in latin-1 as well). So, I don't want to use unicode. However, no matter how I send the message, I don't get what I want. Either the message is correctly saved in Clickatell but comes with strange symbols on the device or I encode the message and then get hex letter in Clickatell and nothing at all on the device. In the FAQ there is a solution for the HTTP API but it didn't help me for the REST API. I contacted support but I have been already waiting 3 days for an answer. Does someone here have an experience with the API?
Here are some of my unsuccessful tries:
Data correctly displayed on Clickatell page but not in the SMS
string data = clickatellEncoding.GetString(memoryStream.ToArray());
StringContent stringContent = new StringContent(data, clickatellEncoding,
jsonContentType
Hex letter on Clickatell page, no SMS received
byte[] utfBytes = utf8.GetBytes(data);
byte[] clickatellBytes = Encoding.Convert(utf8, clickatellEncoding, utfBytes);
data = clickatellEncoding.GetString(clickatellBytes);
StringContent stringContent = new StringContent(data, clickatellEncoding),
jsonContentType);
I also wrote an own converter from utf-8 to GSM 03.38, the result was again hex letters on Clickatell page an no SMS.
Any ideas what else I could try?
The Clickatell encoding is latin-1. So, theoretically I should send everything in latin-1 and it should work...