首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Twilio短信服务中的SmartEncoding能通过C# API发送GSM-7字符吗?

Twilio短信服务中的SmartEncoding能通过C# API发送GSM-7字符吗?
EN

Stack Overflow用户
提问于 2020-05-19 13:13:29
回答 1查看 871关注 0票数 1

我正在使用Twilio的短信服务,我希望能够发送普通的非英语罗马字母字符(用于欧洲人名)以及ASCII字符。我需要的字符是Unicode的“拉丁语-1补充块”的子集。而且,他们都在GSM-7字符集。但它们在手机上作为替换字符出现。例如,当我发送J'aime l'été... éÉÑñ时,电话显示J'aime l'?t?... ????

我正在使用一个在Sprint上运行的带有iPhone 13的美国iPhone进行测试。Verizon iPhones也显示了同样的问题。

下面是再现问题的C#代码。将smartEncoded的值从true更改为false,反之亦然

代码语言:javascript
复制
        const string sid = "REDACTED";
        const string token = "REDACTED";
        const string from = "REDACTED";

        const string to = "REDACTED";
        const string message = "J'aime l'été... éÉÑñ";

        TwilioClient.Init(sid, token);
        var msg = MessageResource.Create(
            body: message,
            from: new Twilio.Types.PhoneNumber(from),
            to: new Twilio.Types.PhoneNumber(to),
            smartEncoded: true
            );

Twilio声称他们使用的是GSM-7。在可以使用该字符集的时候发送消息,如果不能使用UCS-2,则返回到UCS-2。

如果我发送一条强制Twilio使用UCS-2编码的信息,那么一切都可以正常工作。例如,附加®就能做到这一点。当然,在UCS-2中发送的每条短信都有较短的最大长度.

代码语言:javascript
复制
        const string message = "J'aime l'été... éÉÑñ ®";

我一定是遗漏了什么;Twilio为他们的消息大小优化特性感到自豪。我怎么才能解决这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-18 13:16:46

tl;dr:一些短消息服务中心的已知问题可以通过强制消息进入Unicode (不需要额外费用)或强制至少两个段(因为每个段收取额外费用而会有更多段)来解决。

当我的GSM编码消息包含“扩展GSM字符”时,我问Twilio支持相同/类似的问题,并收到以下回复:

有一个已知的编码问题,消息被路由到某些Verizon短消息服务中心。Verizon有许多SMSCs (短消息服务中心),它们是动态分配的(例如,一个特定的Verizon用户可以在不同的时间通过许多不同的SMSCs获得消息)。您看到的这个问题是专门针对单段消息发生的吗?如果是这样的话,它与我们在自2018年以来一直存在的某些Verizon SMSC上看到的编码问题相匹配。对于单段短消息,某些Verizon SMSCs可能会将“i”或其他扩展的GSM字符转换为"?“送货的时候。不幸的是,除了这影响到一些Verizon SMSCs之外,我们没有其他与设备相关的细节。为了避免这个问题,我们建议如下:选项1:通过包含一个非GSM字符强制将消息作为Unicode发送。要在unicode中发送消息而不通过发送>160个字符而增加额外成本,您可以在消息中包含标点符号空间。它看起来就像一个普通的空间,但因为它在常规的GSM-7范围之外,它将导致整个消息被转换为Unicode,口音将正确地传递出来。你能把这个作为一个解决办法来测试吗?请注意,USC2消息将限于每段70个字符。选项2:确保在GSM编码中消息长度超过1段。

按照https://www.twilio.com/docs/sms/services/smart-encoding-char-list,“标点符号空间”是U+2008

请注意,Twilio每段收费,所以如果您选择选项2,您将支付更多,因为您将发送更多的片段。

Twilio为您提供了这个工具,以了解您的消息将使用什么编码以及它需要多少段。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61891947

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档