Précédent   Forum des professionnels en informatique > Bases de données > Oracle
Oracle Forum Oracle : le serveur, les outils, ... Voir F.A.Q Oracle Tutoriels Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/12/2007, 18h44   #1
Membre du Club
 
Inscription : décembre 2006
Messages : 119
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 119
Points : 61
Points : 61
Par défaut caractères accentués dans CLOB

Bonjour,

Nous avons des pb sur les caractères accentués dans les CLOB, alors que ça marche avec les VARCHAR2 ! Quand on update la colonne avec par exemple 'éèàù' (sur TOAD ou SQL dev) on obtient autre chose à la relecture (genre des carrés). On n'observe ce phénomène qu'avec la 8 :

Oracle 8i : OK pour VARCHAR2, KO pour CLOB
Oracle 9i : OK pour les 2

Les 2 bases (sous windows 2003) sont configurées avec NLS_TERRITORY=FRANCE et NLS_LANGUAGE=FRENCH. Le client (Windows) est aussi en français.

Et manifestement le dump() ne marche pas pour les CLOB...

Si quelqu'un a une idée...
pat29 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2007, 19h10   #2
Expert Confirmé
 
Avatar de LeoAnderson
 
Inscription : septembre 2004
Messages : 2 942
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 2 942
Points : 2 972
Points : 2 972
Code :
SELECT * FROM nls_database_parameters;
que vaut le national characteter set ? et le character set ?

comment insérez-vous les lignes ? les lisez-vous ?
LeoAnderson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2007, 09h49   #3
Membre du Club
 
Inscription : décembre 2006
Messages : 119
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 119
Points : 61
Points : 61
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
NLS_LANGUAGE	FRENCH
NLS_TERRITORY	FRANCE
NLS_CURRENCY	?
NLS_ISO_CURRENCY	FRANCE
NLS_NUMERIC_CHARACTERS	.,
NLS_CHARACTERSET	WE8ISO8859P1
NLS_CALENDAR	GREGORIAN
NLS_DATE_FORMAT	DD/MM/RRRR
NLS_DATE_LANGUAGE	FRENCH
NLS_SORT	BINARY
NLS_TIME_FORMAT	HH24:MI:SSXFF
NLS_TIMESTAMP_FORMAT	DD/MM/RR HH24:MI:SSXFF
NLS_TIME_TZ_FORMAT	HH24:MI:SSXFF TZH:TZM
NLS_TIMESTAMP_TZ_FORMAT	DD/MM/RR HH24:MI:SSXFF TZH:TZM
NLS_DUAL_CURRENCY	?
NLS_COMP	BINARY
NLS_NCHAR_CHARACTERSET	WE8ISO8859P1
NLS_RDBMS_VERSION	8.1.7.0.0
NLS_LENGTH_SEMANTICS	BYTE
NLS_NCHAR_CONV_EXCP	FALSE
Les données sont insérées et lues dans l'appli avec une IHM client léger.
Sinon sur Oracle SQL dev (ou TOAD) en modifiant directement la donnée dans le tableau Results (ou data).
pat29 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2007, 09h56   #4
Membre du Club
 
Inscription : décembre 2006
Messages : 119
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 119
Points : 61
Points : 61
En comparant les valeurs des 2 bases j'ai noté 2 différences :

NLS_CHARACTERSET : WE8ISO8859P1 (8i) WE8ISO8859P15 (9i)
NLS_NCHAR_CHARACTERSET : WE8ISO8859P1 (8i) AL16UTF161 (9i)

est-ce que ça peut agir sur les CLOB ?
Sinon je peux faire l'essai...
pat29 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2007, 13h50   #5
Expert Confirmé
 
Inscription : février 2006
Messages : 3 433
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 3 433
Points : 3 462
Points : 3 462
Citation:
NLS_NCHAR_CHARACTERSET : WE8ISO8859P1 (8i) AL16UTF161 (9i)
ne concerne que le types de données NVARCHAR2, NCHAR et NCLOB.

Citation:
NLS_CHARACTERSET : WE8ISO8859P1 (8i) WE8ISO8859P15 (9i)
Les différences entre les 2 jeux de caractères ne concernent pas les caractères accentués.

Citation:
Et manifestement le dump() ne marche pas pour les CLOB
Essayez DBMS_LOB.SUBSTR.

Dans votre cas, il faut aussi vérifier que la partie jeu de caractères de NLS_LANG ne pose pas de problème de conversion.
__________________
P. Forstmann

AskTom Forums OTN doc 8, 9, 10 et 11
pifor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2007, 13h58   #6
Rédacteur

 
Avatar de SheikYerbouti
 
Inscription : mai 2003
Messages : 6 533
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 6 533
Points : 6 469
Points : 6 469
Parfois, il suffit d'utiliser des NCLOB en lieu et place de CLOB.
__________________
Rédacteur Oracle (Oracle ACE)
Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
Je ne réponds pas aux questions techniques par MP
Blogs: Forms-PL/SQL-J2EE - Forms Java Beans
SheikYerbouti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2007, 14h22   #7
Membre du Club
 
Inscription : décembre 2006
Messages : 119
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 119
Points : 61
Points : 61
Bon, eh bien ça remarche après un redémarrage de la base, mais je ne sais pas pourquoi... Pourtant la base a déjà été redémarrée il y 2 jours et ça n'avait rien changé...

Merci quand même pour les infos.
pat29 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h54.


 
 
 
 
Partenaires

Hébergement Web