sql >> Base de Datos >  >> RDS >> Sqlserver

Los caracteres UTF-8 se guardan como ?? al insertar, pero se guarda correctamente al actualizar

Muestre su declaración de inserción. Hay, muy probablemente, un N falta:

DECLARE @v NVARCHAR(100)='Some Hindi from Wikipedia मानक हिन्दी';
SELECT @v;

Resultado:Some Hindi from Wikipedia ???? ??????

SET @v=N'Some Hindi from Wikipedia मानक हिन्दी';
SELECT @v;

Resultado:Some Hindi from Wikipedia मानक हिन्दी

El N delante de la cadena literal le dice a SQL-Server que interprete el contenido como unicode (para ser exactos:como ucs-2 ). De lo contrario, se tratará como un ASCII extendido codificado de 1 byte , que no puede tratar con todos los personajes...