You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS SNS发送含西班牙语重音字符SMS乱码问题求助

解决方案:AWS SNS SMS西班牙语特殊字符乱码问题
  • 核心原因:AWS SNS默认使用GSM 03.38编码发送SMS,该编码不支持西班牙语的重音字符(如ó、í),导致字符转义失败出现乱码。

  • 解决步骤:发送消息时明确指定使用UTF-16编码,同时设置短信类型(Transactional/Promotional):

AWS CLI示例

aws sns publish \
    --phone-number "+你的目标手机号" \
    --message "Tu código de verificación es: 1234" \
    --message-attributes '{"AWS.SNS.SMS.SMSType": {"DataType": "String", "StringValue": "Transactional"}, "AWS.SNS.SMS.Encoding": {"DataType": "String", "StringValue": "UTF-16"}}'

Python Boto3示例

import boto3

sns = boto3.client('sns')

sns.publish(
    PhoneNumber="+你的目标手机号",
    Message="Tu código de verificación es: 1234",
    MessageAttributes={
        'AWS.SNS.SMS.SMSType': {
            'DataType': 'String',
            'StringValue': 'Transactional'
        },
        'AWS.SNS.SMS.Encoding': {
            'DataType': 'String',
            'StringValue': 'UTF-16'
        }
    }
)
  • 注意事项:
    1. 不要提前对消息做UTF-8编码,直接发送原始字符串即可,SNS会按指定编码处理。
    2. UTF-16编码会使单条短信的字符容量减半(从160个GSM字符变为70个UTF-16字符),超长消息会自动拆分多条发送,费用会按多条计算。

内容的提问来源于stack exchange,提问作者beitomartinez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 00:52:07