我想使用msdb.dbo.sp_send_dbmail作为Excel附件从表中发送带有返回查询的邮件。但是我在发送带有nvarchar内容的附件时遇到问题。
当我发送带有附件的邮件时,unicode字符无法正确显示。如果我删除标题,则Unicode字符显示正常。
我不知道为什么会发生。请提出任何建议。预先感谢。
查询:
DECLARE @Column1Name VARCHAR(MAX)
DECLARE @tab char(1) = CHAR(9)
DECLARE @Query VARCHAR(MAX)
SET @Column1Name = '[sep=,' + CHAR(13) + CHAR(10) + col1]'
SET @Query = 'SET NOCOUNT ON;
SELECT Col1 AS '+Column1Name +',Col2,Col3 from tableName'
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'xxx',
@recipients = 'xxx@xxx.com',
@copy_recipients = '',
@subject = 'Report'
,@query=@Query
,@attach_query_result_as_file=1
,@query_attachment_filename='QueryResults.xls'
,@query_result_header = 1
,@exclude_query_output =1
,@query_result_separator=@tab --enforce csv
,@query_result_no_padding=1 --trim
,@query_result_width=32767 --stop wordwrap