Oracle multiple caracterset

Viewed 32

we are using Turkish characters in oracle database. When we use the Russian character "?" registers as a symbol. Does Oracle support multiple charsets? If so, can you help us to use the Turkish and Russian character set at the same time?

Oracle version: 11g

Here are the results when I run the query "select * from nls_database_parameters":
NLS_LANGUAGE: AMERICAN
NLS_TERRITORY: AMERICA
NLS_CURRENCY: $
NLS_ISO_CURRENCY: AMERICA
NLS_NUMERIC_CHARACTERS: .,
NLS_CHARACTERSET: TR8MSWIN1254
NLS_CALENDAR: GREGORIAN
NLS_DATE_FORMAT: DD-MON-RR
NLS_DATE_LANGUAGE: AMERICAN
NLS_SORT: BINARY
NLS_TIME_FORMAT: HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT: DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT: HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT: DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY: $
NLS_COMP: BINARY

Regedit result
NLS_CHARACTERSET: TURKISH_TURKEY.TR8MSWIN1254

1 Answers

Your database character set is Windows-1254. That means that you are only allowed to store valid Windows-1254 characters in char/varchar2/clob columns. That excludes most Cyrillic characters.

Your database should have a nls_nchar_characterset setting in nls_database_parameters. That would specify the national character set. Assuming that is a Unicode character set (normally AL16UTF16) then you could store any valid Unicode character in an nchar/nvarchar2/nclob column. But then you'd either have to change the data model to change the data types or to add additional columns for the Russian language data. Alternately, you can migrate your database character set to a Unicode character set.

Related