sql >> Databáze >  >> RDS >> Sqlserver

Znaky UTF-8 se uloží jako ?? na insert, ale při aktualizaci se uloží správně

Ukažte svůj vložený příkaz. Existuje - dost pravděpodobně - N chybí:

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

Výsledek:Some Hindi from Wikipedia ???? ??????

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

Výsledek:Some Hindi from Wikipedia मानक हिन्दी

N před řetězcovým literálem říká SQL-Serveru, aby interpretoval obsah jako unicode (abych byl přesný:jako ucs-2 ). V opačném případě bude považováno za 1bajtové rozšířené ASCII , který si není schopen poradit se všemi znaky...




  1. ExecuteNonQuery vrací hodnotu -1 při použití sql COUNT navzdory řetězci dotazu

  2. Jak získat průměr „středních“ hodnot ve skupině?

  3. Jak vyhledat hodnotu rozsahu z databáze

  4. Získejte obrázek uložený jako BLOB v databázi MYSQL