У меня есть следующий xml:
<?xml version="1.0" encoding="utf-8"?>
<products>
<product>
<ProductDescription><![CDATA[SOMETHIN''WHATEVER]]></ProductDescription>
</product>
<product>
<ProductDescription><![CDATA[TYPICAL_TEXT ΜΑΣΚΑΡΑ]]></ProductDescription>
</product>
</products>
, который я хочу сделать в столбцы.Обыскав, я пришел к следующему решению:
declare @input XML='copy-paste-my-xml'
SELECT
Item.value('(ProductDescription)[1]', 'nvarchar(max)') as ProductDescription
from
@input.nodes('//product') AS T(Item)
Выполнение запроса приводит к этой ошибке:
Сообщение 9420, Уровень 16, Состояние 1, Разбор XML строки 1:строка 9, символ 57, недопустимый символ xml
Место, обозначенное ошибкой, - это место, где начинается первый символ Unicode: ΜΑΣΚΑΡΑ
.Я пришел к выводу, потому что удаление части Unicode делает запрос выполняется успешно.Но я читал, что XML поддерживает Unicode.Я также пытался использовать N ', но я получил:
Сообщение 9402, уровень 16, состояние 1, строка 1 Синтаксический анализ XML: строка 1, символ 38, невозможно переключить кодировку
Что я должен сделать, чтобы получить значение Unicode?