Oracle server does not understand Cyrillic. Not when inserting data into a table, nor when compiling procedures with Russian comments.

Instead of Russian characters everywhere writes questions "????". Development is carried out in PL / sql developer from one remote terminal by several developers.

The problem arose only in one new developer.

Checked CHARACTERSET on the Oracle server (version 12).

select * from sys.V_$NLS_VALID_VALUES v where v.PARAMETER = 'CHARACTERSET'; PARAMETER VALUE ISDEPRECATED CON_ID ... CHARACTERSET WE8MSWIN1252 FALSE 0 ... 

Checked nls_lang on client:

 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ORACLE\KEY_OraClient12Home1_32bit NLS_LANG = AMERICAN_AMERICA.WE8MSWIN1252 

How to solve this problem?

  • current encoding = "AL32UTF8" (select * from v $ nls_parameters s where s.PARAMETER = 'NLS_CHARACTERSET') - Andrey
  • In my HLM\SOFTWARE\ORACLE NLS_LANG = AMERICAN_AMERICA.CL8MSWIN1251 same is true in other subdirectories of this registry branch. Maybe this will help. - ApInvent

1 answer 1

There was such a problem on one machine, it was solved by executing the following * .reg file

 Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage] "1250"="c_1251.nls" "1251"="c_1251.nls" "1252"="c_1251.nls"