如何从SQL中读取XML中的unicode字符 [英] How to read unicode character from XML in SQL

查看:114
本文介绍了如何从SQL中读取XML中的unicode字符的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好我想从XML读取unicode字符

im从变量中获取正确的值但不从XML读取中获取。



Hello i want to read unicode character from XML
i m getting proper value from variable but not from XML reading.

DECLARE @test NVARCHAR(MAX) = N'ಇಂದು ಅಸ್ಸಾಂ ಶಪಥ ಇನ್ : ಎಜಿಪಿ , BPF Sonowal ಸಂಪುಟದಲ್ಲಿ ಪ್ರತಿ ಎರಡು ಬರ್ತ್ ಪಡೆಯಬಹುದು'
SELECT @test

DECLARE @XML XML = '<test><news>ಇಂದು ಅಸ್ಸಾಂ ಶಪಥ ಇನ್ : ಎಜಿಪಿ , BPF Sonowal ಸಂಪುಟದಲ್ಲಿ ಪ್ರತಿ ಎರಡು ಬರ್ತ್ ಪಡೆಯಬಹುದು</news></test>'
SELECT  News = t.value('News[1]', 'NVARCHAR(MAX)')
FROM    @XML.nodes('Test') AS x ( T )





我尝试过:



我已经使用变量来获得正确的值。



What I have tried:

I have used variable in that i m getting proper value.

推荐答案

两个问题:



1。 XML区分大小写。您的文档不包含名为测试新闻的节点,因此您不会得到任何结果。



更正节点名称的大小写,并返回数据:

Two problems:

1. XML is case-sensitive. Your document doesn't contain nodes called Test and News, so you don't get any results.

Correct the case of your node names, and the data will be returned:
SELECT  News = t.value('news[1]', 'NVARCHAR(MAX)')
FROM    @XML.nodes('test') AS x ( T )





2。您正在使用ANSI字符串初始化XML变量。因此,所有Unicode字符都将转换为



使用Unicode初始化变量字符串,将返回正确的值:



2. You're initializing the XML variable using an ANSI string. As a result, all Unicode characters will be converted to "?".

Initialize the variable with a Unicode string, and the correct value will be returned:

DECLARE @XML XML = N'<test><news>ಇಂದು ಅಸ್ಸಾಂ ಶಪಥ ಇನ್ : ಎಜಿಪಿ , BPF Sonowal ಸಂಪುಟದಲ್ಲಿ ಪ್ರತಿ ಎರಡು ಬರ್ತ್ ಪಡೆಯಬಹುದು</news></test>'


DECLARE @test NVARCHAR(MAX)= N'ಇಂದು ಅಸ್ಸಾಂಶಪಥಇನ್:ಎಜಿಪಿ,BPF Sonowalಸಂಪುಟದಲ್ಲಿಪ್ರತಿಬರ್ತ್ಪಡೆಯಬಹುದು'

SELECT @test



DECLARE @XML XML = N'<测试>< news>ಇಂದುಅಸ್ಸಾಂಶ ಪಥಪಥ:ಎಜಿಪಿ,BPF Sonowalಸಂಪುಟದಲ್ಲಿಪ್ರತಿಎರಡುಪಡೆಯಬಹುದುlt< / news>< / test>'

SELECT @ XML.query('/ test / news')





工作正常 - 只需要阅读使用XML数据类型的方法...
DECLARE @test NVARCHAR(MAX) = N'ಇಂದು ಅಸ್ಸಾಂ ಶಪಥ ಇನ್ : ಎಜಿಪಿ , BPF Sonowal ಸಂಪುಟದಲ್ಲಿ ಪ್ರತಿ ಎರಡು ಬರ್ತ್ ಪಡೆಯಬಹುದು'
SELECT @test

DECLARE @XML XML = N'<test><news>ಇಂದು ಅಸ್ಸಾಂ ಶಪಥ ಇನ್ : ಎಜಿಪಿ , BPF Sonowal ಸಂಪುಟದಲ್ಲಿ ಪ್ರತಿ ಎರಡು ಬರ್ತ್ ಪಡೆಯಬಹುದು</news></test>'
SELECT @XML.query('/test/news')


works OK - just need to read up on using the XML Datatype methinks...


这篇关于如何从SQL中读取XML中的unicode字符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆