【发布时间】:2017-02-13 04:48:34
【问题描述】:
我想生成一个 UTF-8 编码的 XML。但默认情况下它是在 UCS-2 中生成的。
请帮我生成 UTF-8 编码的 XML。以下是我的查询:
select
isnull(cast('5678' as nvarchar(50)),'') [Vlootnummer],
isnull((select top 1 cast(EngineNo as nvarchar(50))
from VTS_DEMO.dbo.VehicleDetails v
join VTS_DEMO.dbo.VehicleDevice vd on v.VehicleId = vd.VehicleId
and ObuID = '353234023894171'), '') as Kenteken,
isnull((select top 1 cast(FillingStationName as nvarchar(50)) Units
from VTS_DEMO.dbo.FillingStation
where GeoFenceId = 3655),'') Locatie,
isnull((select top 1 GeofenceCode
from VTS_DEMO.dbo.GeoFence
where GeoFenceId = 3655), '') GeoFencingID,
isnull(cast(case when 1 = 0 then '' else '2017-02-07T23:15:25Z' end as nvarchar(50)),'') Aankomsttijd,
isnull(cast(case when 1 = 0 then '2017-02-07T23:15:25Z' else NULL end as nvarchar(50)),'') Vertrektijd
FOR XML PATH('Notificatie')
当我使用存储过程 msdb.dbo.sp_send_dbmail 在邮件中将此 XML 作为附件发送时,当它在 notepad++ 中打开时,它会显示 UCS-2。
【问题讨论】:
-
SQL Server(直到并包括 2016 版)不支持 UTF-8 ...
标签: sql-server