0

I have a oracle DB with character set to EE8ISO8859P2, and I want to insert a arabic, or russian (UTF8) records. When I do:

select CONVERT('العربية', 'EE8ISO8859P2', 'AL32UTF8') from dual

it shows "???????". How can I use national dialects without changing a character set of oracle? Sorry 4 my english;)

WEBCENTER
  • 143
  • 4
  • 14

1 Answers1

1

Look at the character sets your database supports:

SELECT *
FROM   v$nls_parameters
WHERE  parameter LIKE '%CHARACTERSET'

Which will hopefully output something like:

PARAMETER              | VALUE    
:--------------------- | :-----------
NLS_CHARACTERSET       | EE8ISO8859P2
NLS_NCHAR_CHARACTERSET | AL32UTF8

If the NLS_NCHAR_CHARACTERSET is UTF8 (or another similar encoding) then don't use CHAR/VARCHAR2 datatypes but use NCHAR/NVARCHAR2 datatypes instead:

SELECT N'العربية' FROM DUAL;
MT0
  • 143,790
  • 11
  • 59
  • 117