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

如何在C#中发送包含表情符号的字符串短信

解决短信中表情符号无法发送的问题

问题分析

你用HttpUtility.HtmlEncode/HtmlDecode处理表情符号的方式完全错误:

  • "U+1F3CD"是Unicode字符的标识格式,但C#不识别这种写法,需用\u开头的转义序列
  • 短信内容不需要HTML编码,编码后会把表情转成HTML实体,短信平台无法解析为表情符号
  • 部分表情是Unicode代理对(比如🏍️由\uD83C和\uDFCD组成),单独转义单个字符会失效

正确实现方式

方式1:直接嵌入表情符号

直接在字符串中写入表情本身,和你的示例一致,确保项目文件编码为UTF-8:

var message = "Thank you for using Our Product 🏍️ ✨ Be Happy Be Safe!";

方式2:使用C# Unicode转义序列

如果无法直接输入表情,用C#支持的Unicode转义写法:

// 🏍️ 是代理对,需用两个转义字符;✨ 是单个Unicode字符
var message = "Thank you for using Our Product \uD83C\uDFCD \u2728 Be Happy Be Safe!";

关键注意事项

  • 检查Post方法的请求编码:确保发送请求时使用UTF-8编码,比如设置Content-Type为application/x-www-form-urlencoded; charset=utf-8或application/json; charset=utf-8
  • 确认短信服务商支持Unicode表情:部分传统短信网关仅支持GSM 03.38字符集,需联系服务商开启Unicode短信支持,否则无法发送表情符号

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 21:57:36