挿入ストアド プロシージャで中国語を読み取ろうとしています。XML 読み取り SP は、一括入力パラメータを XML として取得し、"sp_xml_preparedocument" を使用してそれを解析/読み取り、テーブルに挿入します。ここでの問題は、中国語を「???」と読んでいることです。文字。
以下はxml読み取りSPです:
DECLARE @idoc int;
DECLARE @cnt int = 0;
EXEC sp_xml_preparedocument @idoc OUTPUT, '<?xml version="1.0" encoding="ISO-8859-1"?><DocumentElement><Specifications><ID>1</ID><Name>维</Name><Value>123</Value></Specifications><Specifications><ID>2</ID><Name>重量</Name><Value>123123</Value></Specifications></DocumentElement>'
SELECT @cnt = COUNT(*)
SELECT ID, Name, Value
FROM OPENXML (@idoc, '/DocumentElement/Specifications', 2)
WITH (ID int, Name nvarchar(MAX), Value nvarchar(MAX))
出力は次のとおりです。
ID Name Value
1 ? 123
2 ?? 123123
名前が漢字の代わりに ?? として表示されていることがわかります。XML エンコーディングを UTF-8 と UTF-16 に変更しようとしましたが、うまくいきませんでした。