sql >> Databáze >  >> RDS >> Oracle

Problémy NLS_CHARACTERSET WE8ISO8859P1 a UTF8 v Oracle

http://docs.oracle.com/cd /B19306_01/server.102/b14225/ch2charset.htm#g1009784

Na druhou stranu UTF-8 používá několik bajtů k uložení symbolu.

Pokud vaše databáze používá WE8ISO8859P1 a typ sloupce je ze skupiny VARCHAR (nikoli NVARCHAR) a vkládáte symbol s kódem> 255, tento symbol bude transformován na WE8ISO8859P1 a některé informace budou ztraceny.

Jednoduše řečeno, pokud vkládáte UTF-8 do db s jednobajtovou znakovou sadou, vaše data jsou ztracena.

Výše uvedený odkaz popisuje různé scénáře, jak tento problém řešit.

Můžete také zkusit Oracle asciistr /unistr funkce, ale obecně to není dobrý způsob, jak se s takovými problémy vypořádat.




  1. Jak OBJEDNAT PODLE dvou různých sloupců

  2. Příkaz SUBSTRING v SQL:Primer

  3. Převeďte objekt obsahující opakovaná pole na JSON

  4. Jak vybrat všechny sloupce a počet (*) ve stejném dotazu