sql >> Databasteknik >  >> RDS >> Sqlserver

UTF-8-tecken sparas som ?? på infogning, men sparas korrekt vid uppdatering

Visa din infogningssats. Det finns - med stor sannolikhet - en N saknas:

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

Resultat:Some Hindi from Wikipedia ???? ??????

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

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

N framför strängen literal talar om för SQL-Server att tolka innehållet som unicode (för att vara exakt:som ucs-2 ). Annars kommer den att behandlas som en 1-byte-kodad utökad ASCII , som inte kan hantera alla karaktärer...




  1. Sträng till joda LocalDate i formatet dd-MMM-åå

  2. MySQL:Alla delar av primärnyckeln får INTE vara NULL; om du behöver NULL i en nyckel, använd UNIQUE istället

  3. Hur man genererar infogningssatser från textfiler för SQL Server-tabell i SQL Server - SQL Server / TSQL självstudie del 106

  4. Fel i teckenuppsättningsfel i Oracle