Ich muss SMS mit Sinch API mit arabischem Text senden. Meine SMS enthält die englische, arabische und numerische Nummer.Sinch arabische Nachricht
Was habe ich versucht,
- ich für Sinch lesen Dokumentation haben, aber sie lieferten keine detaillierte Dokumentation darüber, wie UTF-16 BE verwenden und Header Codierung, während diese Nachricht zu senden.
- Ich kontaktierte auch ihr Support-Team, aber sie haben auch keine detaillierte Lösung dafür bereitgestellt. Und was immer sie erwähnten, hat nicht funktioniert.
Unten finden Sie den Code, den ich
String arabicFormattedMessage = "Some English Text \n\n"+"رجى الاتصال بالامتثال التجاري وحماية المستهلك (ككب) من دائرة التنمية الاقتصادية في 12345678 لمزيد من التفاصيل، إذا لم يتم الاتصال في غضون 5 أيام عمل.";
jsonObject.put("message", arabicFormattedMessage);
String messageBody = new String(jsonObject.toString().getBytes(),"UTF-16BE");
String contentTypeHeader = "application/json; charset=UTF-16BE";
headers.put("authorization", base64AuthHeader);
headers.put("content-type", contentTypeHeader);
headers.put("x-timestamp", timeStampHeader);
//headers.put("encoding", "UTF-16BE"); Tried with and without this, but still not working.
Antwort versucht haben, habe ich
Sinch responseCode: 400
Sinch Response: message object is invalid. toNumber object is invalid.
Wie in den Kommentaren Gewünscht, unten ist das Arbeitsbeispiel mit englischem Erh Nur :
JSONObject jsonObject = new JSONObject();
String formattedMessage = "some english message";
jsonObject.put("message", formattedMessage);
final String messageBody = jsonObject.toString();
final String base64AuthHeader = "basic" + " " + base64AppDetails;
String contentTypeHeader = "application/json; charset=UTF-8";
final String timeStampHeader = DateUtil.getFormattedTimeString(new Date());
headers.put("authorization", base64AuthHeader);
headers.put("content-type", contentTypeHeader);
headers.put("x-timestamp", timeStampHeader);
HTTP-POST-Anfrage
HttpClient.sendHttpPostRequest(url, messageBody, headers);
Nach erfolgreichem Anruf erhalte ich Nachrichten-ID als Antwort von Sinch
Haben Sie versucht, es in utf-8 – lionscribe
zu codieren Ja, ich habe versucht, es hat nicht funktioniert und sogar Unterstützung Team von sinch bat mich, die Nachricht in UTF-16BE zu analysieren. Auch in der Dokumentation finden Sie die folgende Zeile: "Zeichen in Sprachen wie Arabisch, Chinesisch, Koreanisch, Japanisch oder Kyrillisch (z. B. Ukrainisch, Serbisch, Bulgarisch usw.) müssen mit dem 16-Bit-UCS codiert werden -2 Zeichencodierung. "Referenz-https://www.sinch.com/docs/sms/ –
Es sollte wirklich als utf8 – cjensen