0
使用OPENROWSET
將xml文件的內容寫入nvarchar(MAX)
列時,最終出現亂碼的前導字符。SQL Server OPENROWSET(BULK'C: Temp Test.xml',SINGLE_CLOB)返回亂碼前導字符
即使在沒有插入的情況下執行select,結果也是一樣的。
SELECT Xml.BulkColumn
FROM OPENROWSET(BULK 'C:\Temp\Test.xml', SINGLE_CLOB) Xml
結果:
我已經試驗了各種CODEPAGE
選項,但得到相同的結果。
SELECT Xml.BulkColumn
FROM OPENROWSET(BULK 'C:\Temp\Test.xml', CODEPAGE='RAW', SINGLE_CLOB) Xml
在記事本文件看起來很好。
SQL Server之前,2016年的版本並沒有真正支持UTF-8 –
從微軟文檔:'重要 我們建議您導入XML數據只能用SINGLE_BLOB選項,而不是SINGLE_CLOB和SINGLE_NCLOB ,因爲只有SINGLE_BLOB支持所有Windows編碼轉換。「# 來源:https://docs.microsoft.com/en-us/sql/t-sql/functions/openrowset-transact-sql – Petaflop