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

SQL Server sp_send_dbmail主题行HTML符号提交Azure Devops Git后变问号求助

SQL Server邮件主题HTML符号显示异常问题解决

问题描述

使用SQL Server 2019开发邮件发送逻辑,代码中包含✅符号:

  • 在SQL Server Management Studio、Visual Studio 2019中连接Azure Devops检入代码时,符号显示正常
  • 提交代码到Azure Devops Git仓库后,✅被替换为问号(?)
  • 改用HTML编码✅后,邮件正文显示正常,但主题行仍无法正确解析该符号

原因分析

  1. Git仓库默认编码可能未设置为UTF-8,导致Unicode字符提交时被转义丢失
  2. 邮件主题不支持HTML编码解析,仅能识别原生Unicode字符

解决方案

1. 直接使用Unicode字符定义主题

利用SQL Server的nvarchar类型支持Unicode的特性,直接在主题变量中使用带N前缀的原生✅符号,无需HTML编码:

DECLARE @subject nvarchar(max)
SET @subject = N'✅' + N' - my symbol'

DECLARE @body nvarchar(max)
SET @body = N'<font size=''2'' color=''red''>✅' + N' - my symbol</font>'

EXEC msdb.dbo.sp_send_dbmail
    @recipients = 'myemail@domain.com',
    @subject = @subject,
    @body = @body,
    @body_format = 'HTML';

2. 配置Git仓库编码为UTF-8

确保Azure Devops Git仓库的编码设置为UTF-8,避免Unicode字符在提交时被损坏:

  • 在仓库设置中,将默认编码改为UTF-8
  • 提交代码时,确保本地Git客户端的core.encoding配置为utf-8,可通过命令设置:
    git config --global core.encoding utf-8
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 21:52:13