Vous pouvez d'abord vérifier le paramètre NLS_CHARACTERSET de votre base de données à l'aide de la commande SQL*PLUS :-
sélectionnez * à partir de v$nls_parameters où paramètre ='NLS_CHARACTERSET' ;
le résultat devrait être
PARAMÈTRE
VALEUR
NLS_CHARACTERSET
AR8MSWIN1256
si ce n'est pas le cas, vous devez changer la valeur de ce paramètre en utilisant :-
-
appuyez sur la touche WINDOWS + r sur votre clavier
-
écrire :- SQLPLUS sys as sysdba
-
appuyez sur Entrée puis entrez le mot de passe ou appuyez simplement sur une autre entrée
-
lancez les commandes suivantes :
-
ARRÊT IMMÉDIAT
-
LIMITATION DE DÉMARRAGE
-
ALTER DATABASE CHARACTER SET INTERNAL_USE AR8MSWIN1256 ;
-
ALTER DATABASE CHARACTER SET AR8MSWIN1256;
-
ARRÊT IMMÉDIAT
-
DÉMARRAGE
-
changez la valeur de la chaîne de registre NLS_LANG en AMERICAN_AMERICA.AR8MSWIN1256
si votre système d'exploitation est une variante d'UNIX utiliser
AR8ISO8859P6 au lieu de AR8MSWIN1256 comme valeur de NLS_CHARACTERSET
-
N'UTILISEZ PAS les types de données nationaux (c'est-à-dire NVARCHAR, NTEXT ou NCLOB) dans votre base de données à moins que vous n'utilisiez d'autres langues que (arabe et anglais) dans votre base de données
-
Le jeu de caractères AR8MSWIN1256 est suffisant pour mélanger l'arabe et l'anglais dans le même champ (pour autant que je sache).
PRIS DE