|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Inscription : avril 2005 Messages : 175 ![]() |
Bonjour,
existe-t-il une vue ou une table du dictionnaire Oracle qui permettrait d'éditer les caractères et leurs valeurs en hexadecimal pour chacun des jeux de caractères utilisés par une base Oracle9 ? Merci |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Inscription : février 2006 Messages : 3 433 ![]() |
Je ne crois pas qu'il existe de vue ou de table mais on peut utiliser des fonctions SQL comme CHR ou UNISTR pour générer un caractère donné:
http://download-uk.oracle.com/docs/c...4.htm#i1000165 et la function DUMP pour afficher le codage binaire d'une colonne VARCHAR2 stockée dans la base: http://download-uk.oracle.com/docs/c...046.htm#i77278 |
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Inscription : avril 2005 Messages : 175 ![]() |
Oracle9 dispose beaucoup de tables de conversion entre jeux de caractère. faut donc trouver la bonne table entrée. Par exemple, pour le é, je le récupère en format hexa F4 ( ô ). Si à partir de cet exemple quelqu'un pouvait me dire quel est le jeu de caractère utilisé ?
|
|
|
00
|
|
|
#4 | |
![]() Inscription : décembre 2002 Messages : 2 397 ![]() |
Citation:
Je ne comprends rien à la question... Déjà, le terme "éditer" est ambigu. Pour certains, ça veut dire modifier, pour d'autres, ça veut dire imprimer. Ensuite, pour une base Oracle donnée, il n'y a que 2 jeux de caractères : le jeu de base, et le jeu dit national (unicode). Pouvez-vous expliquer plus clairement votre objectif fonctionnel (et non technique) ? |
|
|
|
00
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Inscription : avril 2005 Messages : 175 ![]() |
je récupère des données d'un environnement SAS sur gros système Z/OS et je les enregistre dans une base Oracle via la fonction SQL Insert. A l'affichage, j'ai des problèmes de conversion avec les caractères accentués
Par exemple, le é est en format hexa C0 dans l'environnement SAS et je récupère le é en format F4 ( ô ) dans la base Oracle. J'ai pensé qu'avec la fonction SQL Convert() je pouvais transcoder le é en format hexa E9 si je pouvais trouver le jeu de caractères en entrée adéquat avec le jeu de caractères de ma base WE8MSWIN1252. |
|
|
00
|
|
|
#6 |
|
Expert Confirmé
![]() Inscription : février 2006 Messages : 3 433 ![]() |
Ce que vous devez trouver c'est la bonne valeur de NLS_LANG qui est une variable d'environnement (ou clé de registre sous Windows) à positionner pour que Oracle fasse la bonne conversion pour la phase de chargement pendant les INSERT:
http://fadace.developpez.com/oracle/nls/ Si le fichier a été transféré en binaire depuis Z/OS, c'est probablement de l'EBCDIC et il faut trouver le bon jeu de caractères dans cette table là: http://download-uk.oracle.com/docs/c...a.htm#CIAJAGCB |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com