Bonjour tous,
Après quelques heures de tests, de lecture et d'arrachage de cheveux sur la question des paramètres NLS, je me permets de vous solliciter.
Voici le contexte :
Je souhaite mettre en place un environnement de développement interne pour pouvoir travailler sur l'application d'un client dont j'ai récupéré la maintenance applicative (aujourd'hui il n'a que sa prod et l'ancien mainteneur bossait directement dessus ).
Le client en question m'a donc fourni un export de sa base Oracle 9i.
Voici les paramètres de sa base source :
Au niveau session pour le schéma applicatif :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 NLS_NCHAR_CHARACTERSET = AL16UTF16 NLS_LANGUAGE = FRENCH NLS_TERRITORY = AMERICA NLS_CHARACTERSET = US7ASCII
L'export a été fait en US7ASCII apriori.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 NLS_LANGUAGE = FRENCH NLS_TERRITORY = AMERICA NLS_CHARACTERSET = US7ASCII
J'ai donc créé une base de données US7ASCII, bien que cela me laisse dubitatif. Je fais l'import avec NLS_LANG=FRENCH_FRANCE.US7ASCII et si je me connecte au schéma avec SQL Plus (sous Linux), je vois bien les accents.
Cependant, lorsque je lance mon appli (BMC Remedy AR System 6.3, si certains connaissent) et que je me connecte dessus avec son client propriétaire sous Windows, les caratères accentués apparaissent comme des petits rectangles.
Par contre, je peux saisir des accents via ce client et ils sont correctement réaffichés par la suite. Dans la base avec sqlplus ils apparaissent ainsi : "ééé".
L'appli en question utilise le client Oracle pour se connecter à la base et apriori ses paramètres de session sont corrects.
Et là je ne sais plus quoi tenter.
Est-ce que quelqu'un aurait une petite idée de comment récupérer ces accents ?
J'ai lu le tuto sur les NLS_LANG, sur le fait qu'il ne fallait pas nécessairement que le client et la base aient le même character set. J'ai lu également que si le character set était US7ASCII, Oracle n'effectuait aucune conversion ?
Merci pour votre aide.
Partager