Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Warum zeigt Oracle ??? für Sonderzeichen wie åäö

Höchstwahrscheinlich liegt es an der Diskrepanz zwischen dem gebietsschemaspezifischen NLS-Zeichensatz und der Datenbankzeichensatz . Oder die NLS_LANG Der Wert ist in der Umgebungsvariablen des Betriebssystems nicht richtig festgelegt .

Siehe Warum werden Junk-Werte/Sonderzeichen/Fragezeichen auf meinem Client angezeigt?

  1. Ihr Client-Zeichensatz stimmt nicht mit dem Datenbank-Zeichensatz überein.

Sie können zwischen :

vergleichen
-- 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';

Wenn Sie eine Diskrepanz zwischen den beiden feststellen, setzen Sie den gebietsschemaspezifischen NLS-Zeichensatz auf den Zeichensatz der Datenbank.

  1. Wenn die obigen Zeichensätze übereinstimmen, müssen Sie den NLS_LANG-Wert in der Umgebungsvariablen des Betriebssystems festlegen.

Für Windows-Betriebssysteme lautet das Format:

[NLS_LANGUAGE]_[NLS_TERRITORY].[NLS_CHARACTERSET]

Befolgen Sie die Anweisungen in der Dokumentation zum Einrichten von NLS_LANG :Festlegen der NLS_LANG-Umgebungsvariable für Oracle-Datenbanken