本文介绍了如何从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.
推荐答案
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>'
这篇关于如何从SQL中读取XML中的unicode字符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!