En primer lugar, compruebe si su base de datos es capaz de almacenar caracteres árabes por
SELECT *
from NLS_DATABASE_PARAMETERS
WHERE PARAMETER IN ('NLS_CHARACTERSET', 'NLS_NCHAR_CHARACTERSET');
Si obtiene valores como AL32UTF8
, AL16UTF16
o WE8ISO8859P6
está bien y DB puede almacenar dichos caracteres.
En SQL Developer, vaya a Herramientas/Preferencias/Entorno/Codificación y seleccione UTF-8
.
Establezca una variable de entorno en NLS_LANG=ARABIC_AMERICA.AL32UTF8
o similar, también puedes hacer NLS_LANG=.AL32UTF8
con el fin de mantener el idioma y el territorio por defecto/existentes. Alternativamente, también puede configurarlo en su Registro en HKLM\SOFTWARE\Wow6432Node\ORACLE\KEY_%ORACLE_HOME_NAME%\NLS_LANG
(para 32 bits), resp. HKLM\SOFTWARE\ORACLE\KEY_%ORACLE_HOME_NAME%\NLS_LANG
(para 64 bits).
Entonces debería funcionar.
Cambiar su conjunto de caracteres local (es decir, NLS_LANG) nunca afecta los datos existentes en la base de datos.