Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Caracteres UTF-8 são salvos como ?? na inserção, mas é salvo corretamente na atualização


Mostre sua instrução de inserção. Existe - muito provavelmente - um N ausência de:
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 मानक हिन्दी

O N na frente da string literal diz ao SQL-Server para interpretar o conteúdo como unicode (para ser exato:como ucs-2 ). Caso contrário, será tratado como um ASCII estendido codificado por 1 byte , que não é capaz de lidar com todos os personagens...