sql >> Database >  >> RDS >> Sqlserver

UTF-8-tekens worden opgeslagen als ?? bij invoegen, maar wordt correct opgeslagen bij update

Laat je insert-statement zien. Er is - zeer waarschijnlijk - een N ontbreekt:

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

Resultaat:Some Hindi from Wikipedia ???? ??????

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

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

De N voor de letterlijke tekenreeks vertelt SQL-Server de inhoud te interpreteren als unicode (om precies te zijn:als ucs-2 ). Anders wordt het behandeld als een 1-byte-gecodeerde uitgebreide ASCII , die niet met alle karakters om kan gaan...




  1. Hibernate 4.3.5 werkt niet met Oracle10g Database

  2. jpg bmp png extensie GET from image Voor URL PHP mysql

  3. Tijdelijke oplossing voor dynamische instructies in opgeslagen procedures die worden aangeroepen vanuit triggers

  4. op dubbele sleutelupdate met een voorwaarde?