Prima di tutto controlla se il tuo database è in grado di memorizzare caratteri arabi tramite
SELECT *
from NLS_DATABASE_PARAMETERS
WHERE PARAMETER IN ('NLS_CHARACTERSET', 'NLS_NCHAR_CHARACTERSET');
Se ottieni valori come AL32UTF8
, AL16UTF16
o WE8ISO8859P6
stai bene e DB è in grado di memorizzare tali caratteri.
In SQL Developer vai su Strumenti / Preferenze / Ambiente / Codifica e seleziona UTF-8
.
Imposta una variabile d'ambiente su NLS_LANG=ARABIC_AMERICA.AL32UTF8
o simili, puoi anche fare NLS_LANG=.AL32UTF8
al fine di mantenere la lingua e il territorio predefiniti/esistenti. In alternativa puoi anche impostare è nel tuo registro in HKLM\SOFTWARE\Wow6432Node\ORACLE\KEY_%ORACLE_HOME_NAME%\NLS_LANG
(per 32 bit), risp. HKLM\SOFTWARE\ORACLE\KEY_%ORACLE_HOME_NAME%\NLS_LANG
(per 64 bit).
Allora dovrebbe funzionare.
La modifica del set di caratteri locale (ad es. NLS_LANG) non ha mai effetto sui dati esistenti nel database.