我正在处理API调用并检索xml,如下所述。
<?xml version="1.0" encoding="utf-16"?>
<backlinks>
<asd><Click Here for  tips to help you get around></asd>
<sourcetitle>《新加坡》住宿@戴斯旅店 Days Hotel Singapore-歡遊世界</sourcetitle>
</backlinks>
我正在使用SQL Server 2008,我的数据库表中有一个xml列,我希望在其中存储此值。
我尝试使用CDATA,它适用于
以及正常工作如果我从整个提到的xml的xml字符串中删除编码。但是当我尝试检索xml时,它会显示为这样。
<backlinks>
<asd>Click Here for &#x3; tips to help you get around</asd>
<sourcetitle>«???»??@???? Days Hotel Singapore-????</sourcetitle>
</backlinks>
我想要输入的确切输出作为输入。
提前谢谢大家。
答案 0 :(得分:1)
确保将列或值强制转换为nvarchar。 没有N的选择:
SELECT
'<?xml version="1.0" encoding="utf-16"?>
<backlinks>
<asd><Click Here for  tips to help you get around></asd>
<sourcetitle>《新加坡》住宿@戴斯旅店 Days Hotel Singapore-歡遊世界</sourcetitle>
</backlinks>'
返回:
<?xml version="1.0" encoding="utf-16"?> <backlinks> <asd><Click Here for  tips to help you get around></asd> <sourcetitle>**«???»??@????** Days Hotel Singapore-????</sourcetitle> </backlinks>
使用N进行SELECT:
SELECT
N'<?xml version="1.0" encoding="utf-16"?>
<backlinks>
<asd><Click Here for  tips to help you get around></asd>
<sourcetitle>《新加坡》住宿@戴斯旅店 Days Hotel Singapore-歡遊世界</sourcetitle>
</backlinks>'
返回:
<?xml version="1.0" encoding="utf-16"?> <backlinks> <asd><Click Here for  tips to help you get around></asd> <sourcetitle>《新加坡》住宿@戴斯旅店 Days Hotel Singapore-歡遊世界</sourcetitle> </backlinks>