Oracle supports the use of Unicode in column names. It is known that work on the design. However, there are several places where things go wrong. Living in the Netherlands and working with many foreign languages in Oracle, it has always been nice to meet another mistake in the application or the Oracle kernel due to the use of Unicode. In Oracle 11.2, most Unicode problems have finally been resolved.
Check the following possible causes:
UNICODE database?
Is your database AL32UTF? Use select value from v$nls_parameters where name='NLS_CHARACTERSET'
Unwanted translation between client and server
This is probably the reason.
Is your client configured correctly and uses the necessary settings?
Since C # supports almost the same Unicode as Oracle, always use something like "DUTCH_THE NETHERLANDS.AL32UTF8" as a set of your clients, for example, using NLS_LANG. Additional instructions can be found in the manual of one of our software packages .
Otherwise, Oracle converts characters from a range of values to something like "?". Note that character conversion ONLY occurs when characters on both sides are distinguished. If they are both wrong but identical, Oracle does not notice and simply wraps all binary characters without conversion.
Please update your question to reflect what it returns, instead of inverted question marks.
This conversion occurs with all data, column names, or column contents.
Can you update your question if the contents of the column are not displayed outside the US7ASCII range or not?
Client code
Most client software has not been tested with UNICODE characters. The easiest way to get an SQL application to crash is to often enter mixed case column names or UNICODE column names. Since your client code is C #, and you are probably using ODP.NET to connect, this should not be a problem in your case.
For the moment, make sure you are using ODP.NET.
Distributed databases
Oracle distributed databases can also introduce additional problems in addition to client / server character set conversion. There are some errors. Refresh the question if you are using distributed databases.