无法使用UTF-16 - BCP SQL导出xml

时间:2018-06-01 07:47:58

标签: sql xml bcp

DECLARE @XML NVARCHAR(MAX)  
DECLARE @bcp varchar(500)
DECLARE @FullPath varchar(500) 

SET @XML = N'<?xml version="1.0" encoding="UTF-16"?>'+
            (
                    SELECT      'text1' as col1,
                                'text2' as col2
                    FOR XML PATH('col'), ROOT('record'), ELEMENTS XSINIL
            )
if ISNULL(OBJECT_ID ('tempdb..##TXML'),0) > 0 DROP TABLE ##TXML
CREATE TABLE ##TXML (XMLText NVARCHAR(MAX))
insert into ##TXML select @XML

set @FullPath =  'C:\Temp\test.xml'
set @bcp = 'bcp "SELECT XMLText from ##TXML" queryout "' + @FullPath + '" -T -w -S '+@@SERVERNAME
EXEC xp_cmdshell @bcp
DROP table ##TXML

上面是使用Encoding UTF-16导出XML文件的示例。 输出说:

document labeled utf-16 but has utf-8 content

我尝试使用XML数据类型,但它将在没有标题的情况下导出。

有专家可以解释为什么我不能拥有utf-16内容吗?

谢谢。

0 个答案:

没有答案