Невозможно экспортировать XML с UTF-16 - BCP SQL - PullRequest
0 голосов
/ 01 июня 2018
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

Выше приведен пример экспорта файла XML с кодировкой UTF-16.Вывод гласил:

document labeled utf-16 but has utf-8 content

Я пытался использовать тип данных XML, но он будет экспортироваться без заголовка.

Может кто-нибудь эксперт, который может объяснить, почему у меня не может быть utf-16 содержание?

Спасибо.

...