sql >> Database teknologi >  >> RDS >> Sqlserver

UTF-8-tegn gemmes som ?? ved indsættelse, men gemmes korrekt ved opdatering

Vis din indsætningserklæring. Der er - med stor sandsynlighed - en N mangler:

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 foran strengen literal fortæller SQL-Server at fortolke indholdet som unicode (for at være præcis:som ucs-2 ). Ellers vil den blive behandlet som en 1-byte-kodet udvidet ASCII , som ikke er i stand til at håndtere alle karakterer...




  1. Sådan gemmer du hashes i MySQL-databaser uden at bruge tekstfelter

  2. Valg af flere borde vs. JOIN (ydelse)

  3. Timeout for OracleDataReader.Read-metoden

  4. Mysql :flere borde eller et stort bord?