从OPENJSON SQL Server检索特殊字符时出现的问题
我正在解析一个JSON文件中的数据,当我最终加载到我的表中时遇到了问题,数据中有特殊字符,如ñ,则显示为Ã 代码在NVARCHAR中,我不知道为什么它不能正确地运行从OPENJSON SQL Server检索特殊字符时出现的问题,sql,json,sql-server,Sql,Json,Sql Server,我正在解析一个JSON文件中的数据,当我最终加载到我的表中时遇到了问题,数据中有特殊字符,如ñ,则显示为Ã 代码在NVARCHAR中,我不知道为什么它不能正确地运行 INSERT INTO @recordsInfo ( messageId, messageType, messageVariation, windowEnvelope, recipientFirstName, recipientL
INSERT INTO @recordsInfo
(
messageId,
messageType,
messageVariation,
windowEnvelope,
recipientFirstName,
recipientLastName,
recipientAddressLine1,
recipientAddressLine2,
recipientCity,
recipientState,
recipientZip,
recipientZipSuffix
)
SELECT messageId,
messageType,
messageVariation,
windowEnvelope,
recipientFirstName,
recipientLastName,
recipientAddressLine1,
recipientAddressLine2,
recipientCity,
recipientState,
recipientZip,
recipientZipSuffix
FROM
OPENJSON(@ValueR)
WITH
(
messageId NVARCHAR(100),
messageType NVARCHAR(100) '$.messageDetails.messageType',
messageVariation NVARCHAR(100) '$.messageDetails.messageVariation',
windowEnvelope NVARCHAR(100) '$.messageDetails.windowEnvelope',
recipientFirstName NVARCHAR(100) '$."shippingDetails"."recipientFirstName"',
recipientLastName NVARCHAR(100) '$."shippingDetails"."recipientLastName"',
recipientAddressLine1 NVARCHAR(1000) '$.shippingDetails.recipientAddressLine1',
recipientAddressLine2 NVARCHAR(100) '$.shippingDetails.recipientAddressLine2',
recipientCity NVARCHAR(100) '$.shippingDetails.recipientCity',
recipientState NVARCHAR(100) '$.shippingDetails.recipientState',
recipientZip NVARCHAR(100) '$.shippingDetails.recipientZip',
recipientZipSuffix NVARCHAR(100) '$.shippingDetails.recipientZipSuffix'
);
DECLARE @recordsInfo TABLE
(
RecID INT IDENTITY(1, 1),
messageId NVARCHAR(100),
messageType NVARCHAR(100),
messageVariation NVARCHAR(100),
windowEnvelope NVARCHAR(100),
recipientFirstName NVARCHAR(100),
recipientLastName NVARCHAR(100),
recipientAddressLine1 NVARCHAR(1000),
recipientAddressLine2 NVARCHAR(100),
recipientCity NVARCHAR(100),
recipientState NVARCHAR(100),
recipientZip NVARCHAR(100),
recipientZipSuffix NVARCHAR(100)
);
RecipientFirstName是我正在查看的主要名称,JSON通常是UTF-8。只有在2019版中,SQL Server才能理解UTF-8,因此在此之前,您必须手动执行此操作
该表也是NVARCHAR吗?@JacobH是的,我相信您能提供分配给@ValueR的内容吗?