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

Proč Oracle zobrazuje ??? pro speciální znaky jako åäö

S největší pravděpodobností je to kvůli nesouladu mezi znakovou sadou NLS specifickou pro místní prostředí a databázová znaková sada . Nebo jinak, NLS_LANG hodnota není správně nastavena v proměnné prostředí OS .

Podívejte se na Proč se na mém klientovi zobrazují nevyžádané hodnoty/zvláštní znaky/otazníky?

  1. Vaše klientská znaková sada se neshoduje s databázovou znakovou sadou.

Můžete porovnávat mezi:

-- locale-specific characterset

select value
from   v$nls_parameters 
where  parameter = 'NLS_CHARACTERSET';


-- database characterset

select value
from   nls_database_parameters 
where  parameter = 'NLS_CHARACTERSET';

Pokud mezi nimi vidíte nesoulad, nastavte znakovou sadu NLS specifickou pro národní prostředí na znakovou sadu databáze.

  1. Pokud se výše uvedené znakové sady shodují, musíte nastavit hodnotu NLS_LANG v proměnné prostředí OS.

Pro operační systém Windows je formát:

[NLS_LANGUAGE]_[NLS_TERRITORY].[NLS_CHARACTERSET]

Postupujte podle pokynů v dokumentaci týkající se nastavení NLS_LANG:Nastavení proměnné prostředí NLS_LANG pro databáze Oracle




  1. Spouštěče prevence

  2. Oracle Database 21c

  3. Jak potlačit INFO zprávy při spouštění skriptů psql

  4. MySQL MariaDB – Dotaz pomocí Temp Table