Oracle
 sql >> база данни >  >> RDS >> Oracle

Защо Oracle показва ??? за специални знаци като åäö

Най-вероятно това се дължи на несъответствието между специфичния за локал NLS набор от знаци и набора от знаци на базата данни . Или пък NLS_LANG стойността не е зададена правилно в променливата на средата на ОС .

Вижте защо на моя клиент се показват нежелани стойности/специални знаци/въпросителни?

  1. Вашият клиентски набор от символи не съвпада с набора от знаци в базата данни.

Можете да сравните между:

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

Ако видите несъответствие между двете, задайте специфичния за локала NLS набор от символи на този на набора от символи на базата данни.

  1. Ако горните набори от знаци съвпадат, тогава трябва да зададете стойността NLS_LANG в променливата на средата на ОС.

За ОС Windows форматът е:

[NLS_LANGUAGE]_[NLS_TERRITORY].[NLS_CHARACTERSET]

Следвайте инструкциите в документацията относно настройката на NLS_LANG :Настройка на променливата на средата NLS_LANG за бази данни на Oracle




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да създадете DB връзка между два екземпляра на оракул

  2. Низ за връзка на Oracle без файл tnsnames.ora

  3. SQLT в 12c не може да събира статистически данни

  4. Върнете ред с максимална стойност от една колона на група

  5. Oracle Преобразува секунди в часове:минути:секунди