Bonjour,
j'ai déjà souvent rencontré des soucis avec des paramètres NLS mal renseignés qui posaient des problèmes avec nos chers accents (et compagnie).
Aujourd'hui, j'ai un nouveau souci pour lequel je bloque un peu.
Jusqu'à présent, quand j'avais des problèmes d'encodage, un accent était affiché sous la forme d'un caractère genre "?" ou autre symbole.
Dans le cas présent, les caractères accentués s'affichent simplement sans accent.
Ce que j'ai du mal à comprendre, c'est que le "É" est bien géré dans le shell:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 SQL> select distinct (nom) from test where nom like 'ETT%'; NOM ------------------------- ETTE ETTE SQL> select distinct asciistr(nom) from test where nom like 'ETT%'; ASCIISTR(NOM) -------------------------------------------------------------------------------- ETTE ETT\00C9 SQL> select distinct dump(nom) from test where nom like '%CETT%'; DUMP(NOM) -------------------------------------------------------------------------------- Typ=1 Len=12: 69,84,84,201 Typ=1 Len=12: 69,84,84,69
Mais pas dans Oracle:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 bash-3.2$ echo "É" | od -xc 0000000 c90a É \n
De plus, quand j'essaye de positionner NLS_LANG au niveau du shell, j'ai une erreur à la connexion :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 SQL> select asciistr('Éé') from dual; ASCIISTR( ---------- \00BF\00BF SQL> select dump('Éé') from dual; DUMP('??') --------------------- Typ=96 Len=2: 191,191
Si vous avez des pistes...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 bash-3.2$ sqlplus mabase SQL*Plus: Release 10.2.0.5.0 - Production on Wed Sep 28 16:48:25 2011 Copyright (c) 1982, 2010, Oracle. All Rights Reserved. Enter password: ERROR: ORA-12705: Cannot access NLS data files or invalid environment specified
Merci
Alexis
Partager